前言

好的软件系统是由一系列读起来不错的代码文件组成的,他们需要拥有一致和顺畅的风格。读者要能确信,他们在一个源文件中看到的格式风格在其他文件中也是同样的用法,绝对不要用不同的风格来编写源码,这样会增加其复杂度。

这个所谓的风格,其实就是指编码风格。每个团队在成立之初,都需要制定一种编码风格,由于这种风格是团队共同决定的,作为团队的一员,我们必须遵守这些规则

规则

我认为的规则应该有以下几条

  1. 代码格式化之后再提交,这个是关键,重中之重。
  2. 每一行字符的上限原则:遵循无需拖动滚动条到右边! 建议上限是160个字符
  3. if 语句,while语句或者小函数也必须缩进, 不能像下面这样
    if ((millisUntilFinished / 1000) == 0) { btn_take_right.setEnabled(true); }
    

    而应该如下

    if ((millisUntilFinished / 1000) == 0) {
     btn_take_right.setEnabled(true);
    }
    
  4. 不管是单行if或者else,也必须使用{}
  5. 避免 while或者for语句的语句体为空的情况
  6. 自上而下展示函数调用依赖顺序。 源文件最顶部应该给出最高层次概念和算法,细节应该往下渐次展开,直至找到源文件最底层的函数和细节。
  7. 关系紧密的概念应该互相靠近
    • 变量声明 尽可能的靠近其使用的位置,因为函数很短,局部变量应该在函数的顶部出现
    • 实体变量 应该在类的顶部声明,这不会增加变量的垂直距离,因为在设计良好的类中,他们如果不是被该类的所有方法也是大多数方法所用
    • 相关函数 若某个函数调用了另外一个,就应该把他们放到一起,而且调用者应该尽可能放在被调用者上面。这样程序就有了一个自然顺序
    • 相关概念 概念相关的代码应该放到一起,相关性越强,彼此之间的距离就该越短,例如重载函数,他们拥有共同的命名模式,执行统一基础任务。

现在的IDE通过格式化代码,AS可以直接快捷键进行格式化的,方便快捷 直接解决了一下问题

  1. 在声明包名,导包和每个函数直接,成员变量和函数之间之间,使用空白行隔开
  2. 在赋值操作符周围加上空格字符
  3. 一组变量名尽量不遵循对齐原则,

上限160个字符说明

  • 字符太长不能一目了然,可能还需要拖动滚动条,增加操作,
  • 字符太短可能出现一行显示不全,出现换行的情况,增加阅读难度

所以,尽可能的一行显示全部最好,而定义160个字符的上限,原因如下

  1. 现在大部分程序猿都会外接大屏显示器,这种显示160个字符搓搓由于,就算是不外接,14寸的笔记本一般能显示160个字符左右。所以定义160个字符
  2. 至于出现换行情况,一个原因是参数过多,还有一个原因是函数中嵌套太深。

按照本书中前面的建议

  • 函数参数尽量避免三个或者三个以上,
  • 函数要短小精悍,减少嵌套

如果这两个都满足了,我认为那么160个字符足够用了


搬运地址:

代码整洁之道