代码可理解性/可读性
***代码的可理解性、可读性,需要考虑以下几个方面:
是否遵循特定的命名规范?是否足够的注释/说明?是否足够的内聚性?方法是否太长或太短、是否容易理解?
代码的命名:是否具有自描述性?不看注释就可以理解其含义
是否足够简洁?太长的变量名降低效率
度量方式:所有标识符的平均长度、代码复杂度、代码行数、注释的密度(%)
***可读性的重要性:相比起写新代码来说,程序员的大部分时间都用来阅读并修改已有代码
***可读性需要考虑以下几个指标:命名规范;代码行的最大长度、文件的最大LoC;注释;代码的布局:缩进、空行、对其、分块、等;避免多层嵌套—增加复杂度;文件和包的组织……
***代码的可读性/ 可理解性很多时候比效率/ 性能更重要,不可读不可理解代码可能蕴含更多的错误。因此,先写出可读易懂的代码,再去逐渐调优!
编码规范
***编码规范:定义了一系列的规则,按这些规则进行编码,有助于提升代码可读性,例如:命名、代码布局/缩进、数据声明方式、文件组织方式……
***变量/方法/类的命名应该能够直接告诉client该变量有什么作用
包、类、接口的命名:package java.util(包的命名全是小写)
Object(类、接口的命名是名词且首字母大写)
方法的命名:应以动词开头(全小写)(CamelCase):getX()
常量的命名:中间应该有_分隔:MAX_SIZE
参数的命名:参数的名字应该包含其表达的意思
***每个方法的之前要有换行
***在赋值运算符之前和后、在函数名称和左右括号之间加空格
***若一行代码过长,需要换行,在运算符之前换行
***工具:CheckStyle
***此外,在Google的编码规范中,import的库需要按照静态库、编译器自带的库、程序员自己的库顺序排列,库也需要按照字典顺序排列。在每个方法前面需要加Javadoc注释。命名变量时不能连续出现两个大写字母。