一、代码的命名
1.变量名、方法名:小驼峰法(除第一个单词之外,其他单词首字母大写)
eg:
var myStudents;
function getStudentById(){}
2.类名:大驼峰法 (所有单词的首字母都大写)
eg:
class BaseUser{}
3.常量名:每个单词的所有字母都大写,单词与单词之间用 _ 连接
eg:
const BASE_USER = ''
一个好的命名遵循下列的规范:
-
名副其实:不需要被注释也应该被理解、看懂。一个名副其实的命名可以告诉读者:
-
怎么用
-
做什么事
-
为什么存在
-
避免误导:(I 、O),这到底是 I 还是 1,是 O 还是 0;(傻傻分不清)
-
做有意义的区分:
-
不要使用 a1、a2、a3
-
不要说废话(student 就不要再写成 studentInfo 或者 studentData 了)
-
使用读得出来的名称:你应该不想让你的小伙伴把方法名一个字母一个字母的读出来吧
-
使用可搜索的名称:不要使用硬编码,尽量使用常量替代
-
一致的命名规则:比如查找都用 find**
-
不要使用双关语
-
短小:一个函数不应该超过20行代码,如果超过需要考虑抽取函数
-
每一个函数/方法应该只干一件:这样做也更加有利于命名,当我们看到函数名的时候就可以知道这个方法的功能是什么
-
函数参数:
一元参数:有输入应该也有输出
二元参数:尽量不要使用,除非参数是有序组成的(new Point(x,y))
如果参数个数超过两个,考虑下把参数封装一下在传过去 -
别重复自己:在程序中如果有两个位置用到了相同的代码,那么就要考虑下把相同的代码提取出来在调用这个抽取出来的方法
-
注释
对代码过多的注释其实是在增加我们的编码量,然后这种工作量的增加并不能起到应该起到的作用,因为在维护代码的时候就已经焦头烂额了,更何况是注释了,有谁愿意去长期维护呢?而一旦没人维护,那么当初写的注释就会产生意想不到的“灾难”。
但并不是所有的注释都是“坏”注释,比如
- 法律信息
- 提供信息的注释(时间格式...)
- 对意图的解释
- 警告
- TODO
- 公共 API
网友评论