全面总结阿里巴巴Java开发手册(4)

编写代码时,对参数进行校验是不可避免的。详细说又扯到“防御式编程”和“契约式编程”的话题上。这两项之所以列为参考,并没有强迫大家遵守。

6. 【推荐】与其“半吊子”英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持英文原文即可。

反例:“TCP 连接超时”解释成“传输控制协议连接超时”,理解反而费脑筋。

看到这一条我已经笑出来了。这一条说的很好,注释是用来阐述问题的,如果看了注释还一头雾水,那么这样的注释不要也罢。使用中文没什么可丢人的,解决问题才是王道。

7. 【推荐】代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改。

说明:代码与注释更新不同步,就像路网与导航软件更新不同步一样,如果导航软件严重滞后, 就失去了导航的意义。

阿里巴巴对该条的说明非常到位。其实我们团队在编写代码时默认是没有任何注释的,因为我们追求的是self-explanatory methods。即代码本身已经就能说明它的用途。只有在很少的情况下需要添加注释。

编程规约的第九部分都是很好的tips,值得去了解和学习。

除了编程规约之外,日志规约、MySQL规约、工程规约和安全规约也都有极高的参考价值,这也是比Google的Java Style Guide出色的地方。这里就不再评述了。

阿里巴巴公布这个Java开发手册绝对是值得赞赏的事情。最后我也想给其提几点建议:

建议使用公开wiki的方式发布该手册,而不是采用pdf的方式。因为如果像google那样是公开wiki方式的话,可以方便大家参与修正和改进,并且可以看到版本历史。

该手册并没有明确的版权许可,只是在页脚处加入了“禁止用于商业用途,违者必究”的字样。Google的style guide的版权为CC-By 3.0 License,建议阿里巴巴能够指明其版权。

手册中的部分示例代码并没有遵守其列出的编程规约,有点打脸之嫌。比如以下示例代码: Iterator<String> it = a.iterator(); while(it.hasNext()){ String temp = it.next(); if(删除元素的条件){ it.remove(); } }

其while和if关键字与小括号之间并没有空格,违反了该手册中3. 【强制】if/for/while/switch/do 等保留字与左右括号之间都必须加空格。这一规则。

集合处理中可以多推荐一些Java8的集合操作方法。

有些名词没有过多解释,比如很多人可能都不知道什么叫一方库、二方库。

希望除了这份开发手册以外,阿里巴巴也可以推出对应的checkstyle配置文件以及Intellij、Eclipse的配置文件。毕竟格式化这些事都可以交由IDE来解决,通过在构建时使用checkstyle插件也可以防止不合规的代码迁入到仓库,从源头上保证代码样式的一致性。

最后,希望这份Java开发手册可以持续改进,吸纳百家之长,成为每个入门程序员必看的手册。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b6526dc3a7510b50ff67c6915183c12a.html