阿里心法之alibaba Java开发手册 -- 节选

本文节选自《阿里巴巴Java开发手册》,强调了Java编程的规范性和可读性,包括禁止不规范的缩写,避免魔法值,限制方法行数,控制if...else深度,日志占位符使用,SQL的注意事项以及避免重复实现已有工具类。旨在提高团队协作效率和代码质量。
摘要由CSDN通过智能技术生成

阿里心法之alibaba Java开发手册 – 节选

前言

对于开发手册、编程规范这一类东西,第一次接触还是在大一的时候,是学长还有技术交流群中的人推荐的,建议在正式参与开发之前,读一读大厂的开发手册会有很多收获。但是当时的编程水平有限,对计算机科学体系的认知也很浅薄,所以,虽然读了一些华为的《C/C++编程规范》,但是收获也只限于“写大括号时左括号不换行”这种浅层次的收获,后来开始Java方向的学习后,也有听说过《阿里巴巴Java开发手册》,但是由于以前的错误认识,也就没有仔细了解。

前段时间组里对我的代码进行检视,组里的代码老司机对我的代码提出了很多意见和建议,说实话,在使用Java进行后端开发的将近两年中,代码规范这个问题一直不够重视,开始不会写的时候就是照葫芦画瓢,后来对Java了解的更多的时候,就开始纠结怎么写才更规范更美观,但是一直没能找到答案,只能按照自己的理解和感觉去写,事实证明,我自己的理解还不够到位,所以决定买一本《阿里巴巴Java开发手册》来看看。

阿里巴巴与Java

阿里巴巴作为国内首屈一指的互联网公司,一直非常喜欢Java,其积极参与Java社区,并贡献了很多的Java开源项目,对Java生态的构建做出了很大的贡献。同时,阿里巴巴又是JCP(Java Community Process)的最高执行委员会成员,说明其Java水平也得到了全球的认可。

意义

程序员的天性是自由,没有人愿意让自己和自己的代码被束缚,但编程规范的统一并不是抑制个性的表现,因为作为团队中的一员需要更高效的协作,而个性化应尽量表现在系统架构和算法效率的提升上。规范的制定,对于江湖新人,是指引方向,如何开发才能让代码更清晰更稳健;对于武林高手,则是提升效率,发展个性的同时保证共性,拒绝琐碎的争论。
总而言之,代码规范的意义就是:尽量规避错误,提高规范性,保证一致性,增强可读性,从而提高团队效率。

内容节选

《阿里巴巴Java开发手册》全本分为7章,共112页,全部放到本文中将没有任何意义,接下来将节选几个印象较为深刻的条目进行分享。

杜绝完全不规范的缩写,避免词不达意【强制】

对应原书p5。这一条一般指在对自定义编程元素进行命名时需要注意,对于目录的命名要求则较弱一些。一个较为常见的反例是:AbstractClass“缩写”命名成AbsClass,condition“缩写”命名成condi,此类随意缩写严重降低了代码的可读性,应尽量使用完整的单词组合来表达意思,达到代码自解释的目标。在JDK中,对某个对象引用的volatile字段进行原子更新的类名为AtomicReferenceFieldUpdater,虽然名字会显得很长,但是总比叫做Arfu可读性更高。


不允许任何魔法值(即未预先定义的常量)直接出现在代码中【强制】

对应原书p9。例如:

String key = "Id#taobao_" + tradeId;

这样的写法同样严重降低了代码的可读性,对于每个常量应指定对应的常量名,来达到解释常量的目的。且对于不同的常量,应该按功能进行归类,有层次的进行管理和维护。对于范围的常量值,可以使用enum类型来进行定义并使用。

与static final相比的效率是否有差别


单个方法的总行数不超过80行【强制】

对应原书p16。原书对本行的说明是:除注释外的方法签名、左右大括号、方法内代码、空行、回车、以及任何不可见字符的总行数不超过80行。代码的行数太多,容易让人无法理清整体的逻辑,降低可读性,即便是代码的作者回头维护自己的代码时也要花

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值