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

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

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

  1. Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准

    Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准 1. 界面gui方面的前后端分离重大意义1 2. 业务逻辑也适当的迁移js化1 3. 常用分离方法2 3.1. 页面 ...

  2. Atitit 我们的devops战略与规划 规范 推荐标准

    Atitit 我们的devops战略与规划 规范 推荐标准 1. Vm容器化1 2. 热部署tomcat+jrebel 或者resin1 3. 增量更新与差异更新1 4. 补丁提取与应用2 为了方便提 ...

  3. 【推荐】智慧城市时空大数据平台解决方案标准规范指南GIS影像地图(共81份,972M)

    [推荐]智慧城市时空大数据平台解决方案标准规范指南GIS影像地图,标准规范指南,整体解决方案,技术架构应用,售前宣贯方案PPT,ESRI论坛时空大数据学习资料. 下载地址:https://downlo ...

  4. DOM 4.1 规范成为候选推荐标准陷困境,只因巨头齐反对

    一直在推进网络技术标准的组织 -- 万维网联盟(W3C)最近遇到了困境:苹果.谷歌.微软和 Mozilla 这四大浏览器制造商纷纷对 W3C 拟定的 DOM 4.1 规范表示反对. 上周早些时候,四大 ...

  5. 2022年推荐消防标准规范汇编自动喷水灭火系统消防设施标志设计规程(附件中为网盘链接),共267份,1.75G

    2022年推荐消防标准规范汇编自动喷水灭火系统消防设施标志设计规程(附件中为网盘链接),共267份,1.75G. 下载地址:https://download.csdn.net/download/men ...

  6. 欢迎参加2022年第一次《城市大脑建设标准规范》专家研讨会

    来源:世界数字大脑标准研究组 2018年以来,城市大脑正成为智慧城市和智能产业的新热点,有近500个城市提出城市大脑的建设规划,数千家大中型科技企业进入城市大脑的建设领域.如何理清城市大脑的概念和定义 ...

  7. 智能化家庭弱电布线标准规范

    智能化家庭弱电布线标准规范 一.一般AV布线需要注意的问题: 1.分量线可以用三根普通视频线加上音频线,一般在8-10米内信号传输地衰减可以不计: 2. 音响线和AV线(三股,视频+L/R音频)线的结 ...

  8. atitit.提升开发效率---mda 软件开发方式的革命

    atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...

  9. HTML5 标准规范

    HTML5是HTML最新的修订版本. HTML5相对于之前的标准添加了许多新的语法特征,其中包括<video>.<audio>和<canvas>元素,同时集成了SV ...

  10. 等级保护测评对哪些行业是硬性要求?相关标准规范主要有哪些?│党政机关篇

    哪些行业必须做等保测评? <中华人民共和国网络安全法>[第三十一条] 国家对公共通信和信息服务.能源.交通.水利.金融.公共服务.电子政务等重要行业和领域,以及其他一旦遭到破坏.丧失功能或 ...

最新文章

  1. Webwork 学习之路(四)Configuration 详解
  2. 醉酒删库:几杯红酒下肚,7小时数据消失...
  3. 算法:不同二叉搜索树||
  4. Qt学习之路(28): 坐标变换
  5. 前端学习(3347):数组方法的运用和总结稀疏数组
  6. 基于ARM Cortex-M和Eclipse的SWO单总线输出
  7. python-运算符-比较运算符
  8. Spring和SpringMVC整合
  9. Python安装时0x80070642问题解决
  10. 2021年下半年信息安全工程师下午真题及答案解析
  11. 产品的思路——来自腾讯张小龙的分享(全版)
  12. Hough变换原理-直线检测
  13. adb与java端口冲突,如何解决adb devices 端口被占用的问题zz
  14. 腾讯云短信服务错误码列表
  15. 分布式 - 谈谈你对分布式的理解,为什么引入分布式?
  16. web语意化的深入理解
  17. 属性动画+购物车+结算
  18. 第12章 智能优化算法(ACO)
  19. 智能背包的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. 2018-CropNet实时缩略图论文笔记

热门文章

  1. OMG: daily scrum nine
  2. 使用SonarQube Scanner for Maven 分析
  3. 安卓设备安全测试框架DTF
  4. Linux-unit-10-11-日志,IP
  5. JDC job obend
  6. ITxlab倡议启动“互联网X大脑”计划
  7. Iframe跳转问题
  8. angularjs学习:通信
  9. effective c++ 跨编译单元之初始化次序 笔记
  10. InfoPath参与流程的开发[转帖]