zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Atitit. 提升可读性推荐标准规范解决方案 关于编程语言的v5 docx

解决方案编程语言 关于 提升 推荐 atitit docx v5
2023-09-14 09:03:27 时间

Atitit. 提升可读性推荐标准规范解决方案 关于编程语言的v5 docx

 

1. 提升可读性的意义 1

2. 提升可读性大原则: 2

2.1. 分解 分类 层次结构 2

2.2. 命名规范推荐标准 2

2.3. 关注点分离原则 2

2.4. 面向人类编程,优先于面向机器,可读性优先于性能原则 2

3. 具体措施 2

3.1. (推荐)Dsl **重要 2

3.2. **(推荐)使用汉字命名,获取更大的可读性,适合于绝大多数项目利大于弊(推荐) 2

3.3. (推荐)使用命名空间,不支持命名空间的事业类似前缀 3

3.4. (推荐)有时候异常处理也会提升可读性 3

3.5. (推荐)限制使用spring等框架范围,防止滥用 3

3.6. (推荐)提高抽象级别,whathow相分离,优先指明what 3

3.7. (推荐)减少架构层次,双层比三层四层架构更加简单易读 3

3.8. (推荐)注意学院派与工程派完全不同 3

3.9. 命名规范 参考知名api 3

3.10. (推荐)Sql style api 4

3.11. 适当分层、DI和AOP是继OO之后的分解方法 4

3.12. 函数式样 流程控制全部函数化 4

3.13. 递归代替循环 4

3.14. 中缀表达式  优先于 前后缀表达式 5

3.15. 防止出现大量接口,,接口过多过滥 5

3.16. 减少 嵌套级别 5

3.17. (推荐)使用模板法,关注点分离。。字符串拼接太难读怎么办?? 5

3.18. 减少语法噪音 5

3.19. 参考 5

4. Refactor 5

4.1. 方法链 5

5. 参考资料 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. (推荐)提高抽象级别,whathow相分离,优先指明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