Atitit 可读性技术与实践范例 艾提拉著 目录 1. 提升可读性的技术类 2 1.1. 本地化命名封装 2 1.2. 表格映射表代替选择 2 1.3. 1.2. Dsl 提升抽象到dsl级别 2

Atitit 可读性技术与实践范例 艾提拉著

 

目录

1. 提升可读性的技术类 2

1.1. 本地化命名封装 2

1.2. 表格映射表代替选择 2

1.3. 1.2. Dsl 提升抽象到dsl级别 2

1.4. 一个业务概念一个dsl 大粒度 2

1.5. 替换语法噪音 2

1.6. 使用异常模式代替返回 2

1.7. 方法链 2

1.8. 字符串模板技术 2

1.9. 匿名方法,匿名构造函数 初始化块,动态map模拟匿名类匿名方法 输出 2

1.10. 不要使用try catch包裹,直接方法上throw 出去,提升可读性,减少语法噪音 3

1.11. 数据结构参照标准规范,方便文档对照  各种微格式等rss 3

1.12. 抽象通用法+专题化命名法  ormSpring 3

1.13. Atitit fileencode 使用全角字符模式 这样有可读性 3

1.14. 编码全角字符可读性 3

1.15. 分层、DI和AOP是继OO之后的分解方法 3

1.16. 提高抽象级别,what与how相分离,优先指明what 4

1.17. 命名规范 参考知名api 4

1.18. 使用命名空间,不支持命名空间的事业类似前缀 4

1.19. 递归代替循环 4

1.20. 中缀表达式  优先于 前后缀表达式 4

1.21. 减少 嵌套级别 4

2. 各种dsl 4

2.1. Ognl nodejs python 4

2.2. Guava等lib 4

 

  1. 提升可读性的技术类
    1. 本地化命名封装
    2. 表格映射表代替选择
    3. 1.2. Dsl 提升抽象到dsl级别

最低语句也是一个dsl 。。。

    1. 一个业务概念一个dsl 大粒度
    2. 替换语法噪音

json字符串返回双引号去除

 

    1. 使用异常模式代替返回

 

    1. 方法链
    2. 字符串模板技术
    3. 匿名方法,匿名构造函数 初始化块,动态map模拟匿名类匿名方法 输出

匿名函数虽然没有名字,但也是可以有构造函数的,它用构造函数块来代替,那上面的3个输出就很清楚了:虽然父类相同,但是类还是不同的。 

 

    1. 不要使用try catch包裹,直接方法上throw 出去,提升可读性,减少语法噪音

 

结构可读性

分层

 

    1. 数据结构参照标准规范,方便文档对照  各种微格式等rss

数据库的schedu_info

日程的ics

邮件eml

文章 meatawebblog

通讯录 vcf

 

    1. 抽象通用法+专题化命名法  ormSpring

很可能专用技术很困过时,无法搜索。。所以通用名更加的久容易技艺

 

    1. Atitit fileencode 使用全角字符模式 这样有可读性
    2. 编码全角字符可读性
    3. 分层、DI和AOP是继OO之后的分解方法

分层,分离安全 性能 稳定性等层次。。也是降低复杂度的方法

    1. 提高抽象级别,what与how相分离,优先指明what
    2. 命名规范 参考知名api 

参考知名api  参考知名sdk 游戏cocos2d、等..

Sql style api

这样可以大大减少资料文档的编撰。。互联网上已经有了

    1. 使用命名空间,不支持命名空间的事业类似前缀

缺点就是命名长度变长了,单是可读性优先,会提升可读性,名字长度有ide自动补全缓解。。

    1. 递归代替循环

 

    1. 中缀表达式  优先于 前后缀表达式

 

    1. 减少 嵌套级别

 

 

Atitit.提升编程语言的可读性解决方案v4 r12.docx

  1. 各种dsl
    1. Ognl nodejs python
    2. Guava等lib

 

Atitit readablity enhance art 可读性的艺术v4 t99.docx

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

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. (推荐)提高抽象级别,what与how相分离,优先指明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

原文地址:https://www.cnblogs.com/attilax/p/15197038.html