01、有意义的命名
在团队开发中,团队小伙伴编码风格各不相同,一个统一的规范就显得尤为重要,最近在做Code Review 和代码优化,看到有些代码,实在不敢恭维,如果刚开始团队就严格执行规范,也就不用花时间做这些了。编码是一种艺术,要有一个严谨、欣赏的态度。
- 在开发过程中,对变量、常量、函数、参数、类等命名是一件严肃的事情,也是最基本的。
- 最起码要做到见名知意,花时间起一个好的名字,可以为自己和团队节省更多的时间。
- 《阿里巴巴Java开发手册(终极版)》 以作参考
- 每个团队都会有自己的规范,适合自己的才是最好的。那我就要说一句话了:“规范就是规范,执行上就是要狠一点,不仅提高自己,也是为他人省去麻烦。”
02、函数
如果你使用CheckStyle,studio 会检查出函数最大行数是160行。在开发过程中,总会发现有那么几处函数体过大,各种判断条件,看的你眼花缭乱。
- 函数规则就是短小,只做一件事。
- 使用描述性的名称,别怕长,别怕花时间取一个易读的名称。
- 函数参数,没有参数是最理想的,如果没有足够的理由还是不要超过三个参数。
- 分割指令与询问,要做什么事,要回答什么事二者不可兼得。
- 使用异常替代返回错误码。
- 抽离try/catch代码块,为保证代码的整洁,最好把try/catch代码块抽离成函数。
03、注释
项目中的注释也是各式各样,统一风格也是很重要的。作为一名程序员,给自己的代码做注释的初衷就是提高代码的可读性。也许根据复杂的业务逻辑需求,会添加许多注释,这时候就要注意格式,避免废话。
- 一个好的、有意义的命名,会省去许多不必要的注释。
- 有些注释还是必要的,如:法律信息、提供信息的注释、对意图的解释、难懂参数或返回值的阐释、警示其他小伙伴、TODO注释、公共函数或Api等。
04、格式
吐槽一个小伙伴的代码,写代码全靠拷贝,注释掉的代码不用了也不删除,每次改他的代码都不知道从哪下手,主管也改过他的代码,结果也是可想而知的。能把代码写到这个份上,也是没谁了。
- 为了统一格式,我们也做了好多努力,开始code review,接入checkStyle,各种优化代码(最浪费时间的)。
- 竖向格式:注意竖向间隔,概念相关写在一起、相关函数写在一起、变量声明写在顶部等。
- 横向格式:代码行尽量短小精悍,如果需要比较长的行并不做强制要求;同时注意水平方向上的空格;水平对齐(如bean类中修饰符、类型、名称上下对齐)。
05、错误处理
记忆深刻的一件事,一位大牛在搭建某个App框架时,无网络逻辑没有考虑进去,记得和主管聊起这件事时,主管说,作为一个搭建框架的人,这种问题是不应该出现的,无网络环境逻辑是最基本的。
- 使用异常而非返回码,抛出异常能很清晰的查出问题所在,而返回码却增加了代码逻辑。
- try-catch-finally 语句,定义一个范围,抛出异常并不影响代码运行。
- 不要反回/传递null值,否则会徒增异常风险、也会增加无谓的逻辑判断。
06、类
- 类应该短小、符合单一职责原则。
参考《代码整洁之道 Clean Code》
该书介绍很详细,在此我只关注一些代码整洁的部分,以便自己在编码的道路上能更进一步。经验看来:无规矩,不成方圆。一定的规则是非常有必要的,并且要有严格的执行力。
网友评论