代码整洁之道 - 格式
前言
好的软件系统是由一系列读起来不错的代码文件组成的,他们需要拥有一致和顺畅的风格。读者要能确信,他们在一个源文件中看到的格式风格在其他文件中也是同样的用法,绝对不要用不同的风格来编写源码,这样会增加其复杂度。
这个所谓的风格,其实就是指编码风格。每个团队在成立之初,都需要制定一种编码风格,由于这种风格是团队共同决定的,作为团队的一员,我们必须遵守这些规则
规则
我认为的规则应该有以下几条
- 代码格式化之后再提交,这个是关键,重中之重。
- 每一行字符的上限原则:遵循无需拖动滚动条到右边! 建议上限是160个字符
- if 语句,while语句或者小函数也必须缩进,
不能像下面这样
if ((millisUntilFinished / 1000) == 0) { btn_take_right.setEnabled(true); }
而应该如下
if ((millisUntilFinished / 1000) == 0) { btn_take_right.setEnabled(true); }
- 不管是单行if或者else,也必须使用{}
- 避免 while或者for语句的语句体为空的情况
- 自上而下展示函数调用依赖顺序。 源文件最顶部应该给出最高层次概念和算法,细节应该往下渐次展开,直至找到源文件最底层的函数和细节。
- 关系紧密的概念应该互相靠近
- 变量声明 尽可能的靠近其使用的位置,因为函数很短,局部变量应该在函数的顶部出现
- 实体变量 应该在类的顶部声明,这不会增加变量的垂直距离,因为在设计良好的类中,他们如果不是被该类的所有方法也是大多数方法所用
- 相关函数 若某个函数调用了另外一个,就应该把他们放到一起,而且调用者应该尽可能放在被调用者上面。这样程序就有了一个自然顺序
- 相关概念 概念相关的代码应该放到一起,相关性越强,彼此之间的距离就该越短,例如重载函数,他们拥有共同的命名模式,执行统一基础任务。
现在的IDE通过格式化代码,AS可以直接快捷键进行格式化的,方便快捷 直接解决了一下问题
- 在声明包名,导包和每个函数直接,成员变量和函数之间之间,使用空白行隔开
- 在赋值操作符周围加上空格字符
- 一组变量名尽量不遵循对齐原则,
上限160个字符说明
- 字符太长不能一目了然,可能还需要拖动滚动条,增加操作,
- 字符太短可能出现一行显示不全,出现换行的情况,增加阅读难度
所以,尽可能的一行显示全部最好,而定义160个字符的上限,原因如下
- 现在大部分程序猿都会外接大屏显示器,这种显示160个字符搓搓由于,就算是不外接,14寸的笔记本一般能显示160个字符左右。所以定义160个字符
- 至于出现换行情况,一个原因是参数过多,还有一个原因是函数中嵌套太深。
按照本书中前面的建议
- 函数参数尽量避免三个或者三个以上,
- 函数要短小精悍,减少嵌套
如果这两个都满足了,我认为那么160个字符足够用了
搬运地址:
代码整洁之道
既已览卷至此,何不品评一二: