Atitit 提升可读性的艺术 目录 1. 几大原则 2 1.1. 直接原则,无脑原则。。。 2 2. 本地化命名法 2 2.1. 可以使用管理命名法 多个api 比如old api,new ap

Atitit 提升可读性的艺术

 

目录

1. 几大原则 2

1.1. 直接原则,无脑原则。。。 2

2. 本地化命名法 2

2.1. 可以使用管理命名法 多个api 比如old api,new api 2

2.2. 相关方法使用前缀发命名空间 2

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

2.4. 命名规范 参考知名api 2

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

3. 管理代码存储区域 优先文件,函数 oo模式 3

3.1. 静态模块最好了 3

3.2. 其次静态方法 ,最后oo动态方法 3

4. 减少嵌套与跳转 3

4.1. 减少简化层次结构,单层其实可以满足大部分架构,其次双层,多层 3

4.2. 一个流程代码不要跨文件,跳转过多 3

4.3. 减少语法噪音嵌套使用lambda 与脚本 3

4.4. 减少跳转  内部类也不错 3

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

5. 减少语法噪音 4

5.1. Lambda 4

5.2. 多使用static import导入机制。。注意函数名不要重复了。。 4

6. 适当分类 命名空间模式 4

6.1. 数据库使用分库提升可读性 4

6.2. 命名空间前缀发 4

7. 参数 使用通用接口   大力减少代码 5

8. Dsl 5

8.1. 表格映射表代替选择 决策树模式等 5

9. 同步 法  优先于异步法 5

10. Other 5

10.1. 适当的事件驱动法 5

10.2. 异常模式代替返回 5

10.3. 方法链 5

10.4. 字符串模板技术 5

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

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

10.7. 递归代替循环 6

10.8. 中缀表达式  优先于 前后缀表达式 6

11. 各种dsl 6

11.1. Ognl nodejs python 6

11.2. Guava等lib 6

 

 

  1. 几大原则

 

    1. 直接原则,无脑原则。。。

 

  1. 本地化命名法
    1. 可以使用管理命名法 多个api 比如old api,new api
    2. 相关方法使用前缀发命名空间
    3. 提高抽象级别,what与how相分离,优先指明what
    4. 命名规范 参考知名api 

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

Sql style api

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

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

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

 

  1. 管理代码存储区域 优先文件,函数 oo模式
    1. 静态模块最好了
    2. 其次静态方法 ,最后oo动态方法

 

  1. 减少嵌套与跳转
    1. 减少简化层次结构,单层其实可以满足大部分架构,其次双层,多层
    2. 一个流程代码不要跨文件,跳转过多

特别是脚本会很麻烦。。带来ide和大脑跳转过多。。

 

    1. 减少语法噪音嵌套使用lambda 与脚本
    2. 减少跳转  内部类也不错

 

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

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

 

  1. 减少语法噪音
    1. Lambda
    2. 多使用static import导入机制。。注意函数名不要重复了。。

 

  1. 适当分类 命名空间模式
    1. 数据库使用分库提升可读性
    2. 命名空间前缀发

 

 

  1. 参数 使用通用接口   大力减少代码
  2. Dsl
    1. 表格映射表代替选择 决策树模式等
  3. 同步 法  优先于异步法
  4. Other
    1. 适当的事件驱动法
    2. 异常模式代替返回
    3. 方法链
    4. 字符串模板技术
    5. 不要使用try catch包裹,直接方法上throw 出去,提升可读性,减少语法噪音

 

结构可读性

分层

 

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

数据库的schedu_info

日程的ics

邮件eml

文章 meatawebblog

通讯录 vcf

 

    1. 递归代替循环

 

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

 

 

  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

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

 

posted @ 2020-11-24 01:00  attilaxAti  阅读(31)  评论(0编辑  收藏  举报