Atitit. 提升可读性推荐标准规范解决方案 关于编程语言的v5 docx
Atitit. 提升可读性推荐标准规范解决方案 关于编程语言的v5 docx
2.4. 面向人类编程,优先于面向机器,可读性优先于性能原则 2
3.2. **(推荐)使用汉字命名,获取更大的可读性,适合于绝大多数项目利大于弊(推荐) 2
3.3. (推荐)使用命名空间,不支持命名空间的事业类似前缀 3
3.5. (推荐)限制使用spring等框架范围,防止滥用 3
3.6. (推荐)提高抽象级别,what与how相分离,优先指明what 3
3.7. (推荐)减少架构层次,双层比三层四层架构更加简单易读 3
3.11. 适当分层、DI和AOP是继OO之后的分解方法 4
3.17. (推荐)使用模板法,关注点分离。。字符串拼接太难读怎么办?? 5
1. 提升可读性的意义
不管对项目还是产品模式,提升可读性都意义重大。
· 优化可读性可以让代码易于阅读和调试,从而缩短开发周期,降低开发成本;
优化可读性——让代码更容易阅读、跟踪和理解。
在优化时难以兼顾各个方面。 例如,当致力于性能优化时,你很可能让应用程序内存消耗增加,同时代码可读性也变差。
2. 提升可读性大原则:
2.1. 分解 分类 层次结构
2.2. 命名规范推荐标准
2.3. 关注点分离原则
2.4. 面向人类编程,优先于面向机器,可读性优先于性能原则
大部分情况下,默认的性能即可满足要求。。
3. 具体措施
3.1. (推荐)Dsl **重要
常见的DSL就是h5 sql script脚本。。界面用h5,业务逻辑尽可能用优先使用脚本和sql sp,数据存储用sql
通用语言GPL尽可能用来缩小使用范围,用来写库是个不错的使用场景。。。
3.2. **(推荐)使用汉字命名,获取更大的可读性,适合于绝大多数项目利大于弊(推荐)
当然丧失了跨国人员合作特性。不过对于大多数都是国内项目来说,就很合适了,根本就没有外籍人员参与。。
如果发现少部分工具对汉字支持不佳,使用拼音即可。拼音也是拼音文字中文
3.3. (推荐)使用命名空间,不支持命名空间的事业类似前缀
缺点就是命名长度变长了,单是可读性优先,会提升可读性,名字长度有ide自动补全缓解。。
3.4. (推荐)有时候异常处理也会提升可读性
异常处理
3.5. (推荐)限制使用spring等框架范围,防止滥用
一般他们都会提升复杂度,降低可读性,应当尽可能的限制其模块使用范围
3.6. (推荐)提高抽象级别,what与how相分离,优先指明what
3.7. (推荐)减少架构层次,双层比三层四层架构更加简单易读
当然一些复杂模块可以使用更多的层数来分解。。
Iso规定有7层网络,实际的tcp只有4层,就是为了降低复杂度。。
3.8. (推荐)注意学院派与工程派完全不同
3.9. 命名规范 参考知名api
参考知名api 参考知名sdk 游戏cocos2d、等..
这样可以大大减少资料文档的编撰。。互联网上已经有了
3.10. (推荐)Sql style api
Sql是个可读性很好的dsl,对于一些操作以及统计方法,使用sql分格的命名很好理解
private void process(BufferedImage img, int grayLevDeep, int radis) {
new GrayLayerCater().groupByGrayRang(grayLevDeep);
//对模板选框内内的像素颜色对灰度分组聚合分类,分别放在不同的灰度层次里面
GrayLayerCater1.insertTo_Layers_select_Colors_From(Matrix1).Groupby_GrayRang();
//选择最多颜色点的那个层次
Layer ColorsNumsTop1Layer = GrayLayerCater1.get_top1_from_Layers_Orderby_ColorsNum_desc();
//计算颜色均值,分别对各个rgb分量计算,与合成
Color avgColor = ColorsNumsTop1Layer.avgColor_retClr();
}
3.11. 适当分层、DI和AOP是继OO之后的分解方法
3.12. 函数式样 流程控制全部函数化
特殊字(如while、class和for)
3.13. 递归代替循环
3.14. 中缀表达式 优先于 前后缀表达式
3.15. 防止出现大量接口,,接口过多过滥
3.16. 减少 嵌套级别
3.17. (推荐)使用模板法,关注点分离。。字符串拼接太难读怎么办??
var sql=" insert `常用洗衣网点`(工号,网点名称)value('@uid@','@add@')";
sql=sql.replace("@uid@","123");
sql=sql.replace("@add@","实际地址");
alert(sql);
3.18. 减少“语法噪音”
3.19. 参考
4. Refactor
4.1. 方法链
5. 参考资料
Atitit.提升语言可读性原理与实践
Atitit usrQBF2312 命名空间pkg 以及 api命名 spec规范
如何提高代码可读性 - GC2013 - 博客园.html
如何提高代码可读性、可维护性 - zm1_1zm - 博客频道 - CSDN.NET.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon Al Rapanui
埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源:attilax的专栏 http://blog.csdn.net/attilax
--Atiend
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步