开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4548|回复: 8
收起左侧

[技术专题] 《易语言中文编程社区通用代码及编译配置项规范 v0.1》

[复制链接]
结帖率:67% (2/3)
发表于 2021-7-31 16:58:10 | 显示全部楼层 |阅读模式   山西省晋城市
本帖最后由 TangguoQAQ 于 2021-7-31 16:59 编辑
易语言中文编程社区通用代码及编译配置项规范 v0.1》(以下简称“《易码规范》”)

规范说明
    易语言社区源码混乱。模块要实现的简便快捷,却每次编译时都因编译器的配置不一,还要重新配置;代码风格不一,虽然易语言自带格式化代码,但对标识符的命名风格又是百花齐放,故起草《易码规范》,同时也希望大家在写代码时尽量遵守《易码规范》,特别是写供他人使用的模块时请注意遵守。

规范内容
  • 系统配置-编译配置项中,不启用“是否启用快速数组访问方式”(数组跨界问题是极其严重的,不应忽视);启用“调用DLL命令后是否检查堆栈错误”,“编译时是否检查死循环代码”,“严格的重复名称检查”,“严格的参数参考传递检查”,“数值精度丢失检查”;不指明“非独立编译后是否询问写出相关库”。对于死循环代码在自己的程序中不建议出现,可以用时钟或精易的时钟子程序;重复的命名中在下条命名规范说明;精度丢失可以使用“到【类型】”命令,但某些类型间的转换可能会出现问题,返回空白,所以你可以使用“到文本”命令作“中介”保证大部分类型转换的安全。
  • 命名规范的问题一直影响的易语言用户,所有标识符,都应“尽可能的使用中文命名”,这不仅仅方便阅读,也是民族文化自信的体现。在《易码规范》中不建议添加无意义字符消除重复命名,因为这样的命名是无意义的;一些对象性质上一样,但数据类型不同(如窗口实例与该窗口的句柄),须要能在命名中体现,一般在后加下划线“_”再加信息(如“主窗口_句柄”);另外,需要备注强调其主要功能的命名不算严谨。
        · 变量名: 根据变量所处位置不同使用“全局_”(模块中全局变量无需使用此前缀)、“程序集_”或“局部_”开头加名词命名。在“一般”情况下,逻辑型变量常以“是否”开头;用于一些循环语句且无特别意义用来记录次数的命命名为“计次”,若需要多个,尽量声明为数组。
        · 子程序名:子程序是种行为,所以使用动词短语命名,附加信息(如方式,用于区分不同方式的同一种行为)使用下划线“_”与前面隔开(这样符合读写顺序,若有多个附加信息,需要排列),例如“加载数据_通过字节集”。
        · 参数名:与变量名相同,但以“参_”开头命名。
        · 类名:使用“类_”开头加名词命名。
  • 模块中的命名:在《易码规范》中将引入“模块命名空间”,即“ID”(是唯一的,又称“唯一名”),命名空间要求简短。对外开放的全局变量、类模块等(不包括类方法),以“【模块命名空间】_【其他】”命名;至于子程序,《易码规范》建议使用若干类模块存放的方法,其中与对外开放的方法勾中“公开”,故称这些类为接口类(一般不公开),主接口类使用“【模块命名空间】”命名,分类用的副接口类使用“【模块命名空间】_【方法类别】”命名,然后将这些接口类实例化,即在全局变量中声明以这些类模块为类型的全局变量,变量名同这些类模块的类名,这些全局变量供用户调用,以保证不重复命名。


如果在自己的易语言源码中遵循了《易码规范》,可以在源码消息中申明“易码规范 *.*”。
若此规范有不妥的地方还请大家指教改正,感谢阅读!

评分

参与人数 3好评 +3 精币 +6 收起 理由
吃泡面加不起蛋 + 1 + 1 不会是老吴吧
冰点 + 1 + 3 感谢分享,很给力!~
dinglz + 1 + 2 很赞同,谢谢!

查看全部评分


结帖率:99% (509/512)

签到天数: 15 天

发表于 2021-7-31 19:10:02 | 显示全部楼层   重庆市重庆市
感觉多写得很好,支持
回复 支持 反对

使用道具 举报

结帖率:54% (13/24)

签到天数: 9 天

发表于 2021-7-31 18:48:58 | 显示全部楼层   广东省江门市
sinewtec 发表于 2021-7-31 17:41
基本都是个人开发 自己看懂就OK E太规范后期自己看不懂

这个ide设计,程序集多了 命令多了  压根没办法改
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-7-31 17:46:12 | 显示全部楼层   广东省汕头市
本帖最后由 LLJ 于 2021-7-31 17:58 编辑

确实有不妥的地方呢!

系统配置-编译配置项中,不启用“是否启用快速数组访问方式”(数组跨界问题是极其严重的,不应忽视);
这个默认不启用,若不启用会降低程序执行效率,对于有自信的应该启用快速数组访问方式,对于新手容易出现数组跨界的可以不启用。

启用“调用DLL命令后是否检查堆栈错误”,“编译时是否检查死循环代码”,“严格的重复名称检查”,“严格的参数参考传递检查”,“数值精度丢失检查”;
对于“调用DLL命令后是否检查堆栈错误”启用会降低程序执行效率,而且是调用后才检查堆栈的,也就是已经执行了错误调用,不管启不启用都不安全。
对于“编译时是否检查死循环代码”没有必要启用,你不会刻意去写 判断循环首(真),若刻意去写,那就是本来就要写死循环的,或者循环体里自己跳出。

根据变量所处位置不同使用“全局_”(模块中全局变量无需使用此前缀)、“程序集_”或“局部_”开头加名词命名。
这是早期编辑器没有变量代码高亮,如今已经有变量代码高亮,可以不需要加上前缀,也可知道变量来自哪里。如果只是为了解决名称冲突,可以加上前缀。

评分

参与人数 1精币 +1 收起 理由
TangguoQAQ + 1 感谢支持,将在0.2更新

查看全部评分

回复 支持 反对

使用道具 举报

签到天数: 22 天

发表于 2021-7-31 17:41:32 | 显示全部楼层   广东省广州市
基本都是个人开发 自己看懂就OK E太规范后期自己看不懂
回复 支持 反对

使用道具 举报

结帖率:97% (130/134)

签到天数: 14 天

发表于 2021-7-31 17:33:46 | 显示全部楼层   河北省保定市
自己写的代码就是要不规范.自己能看明白行. 这样老板才离不开你
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2021-7-31 17:30:55 | 显示全部楼层   广东省广州市
            
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2021-7-31 17:19:16 | 显示全部楼层   广东省汕头市
我偏不遵守你这个规范
回复 支持 反对

使用道具 举报

结帖率:97% (369/379)

签到天数: 20 天

发表于 2021-7-31 17:16:45 | 显示全部楼层   福建省泉州市
nb66666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表