我从不一开始就想写下完美的代码,我想也没有人能办到。我只是不停的雕琢它们,直到我认为完美……
命名:
1.名副其实,从名称上看出用途,如果需要注释来表达用途,你已经输了……
2.具有前缀(后缀)的命名方式是上世纪的产品,以后就忘记吧……
3.包的命名规范:域名+项目名+模块名/层名
4.类的命名规范:类的名字必须由大写字母开头,一个单词中的其他字母均为小写。如果类名称由多个单词组成,则建议将每个单词的首字母均用大写,例如TestPage。如果类名称中包含单词缩写,则建议将这个词的每个字母均用大写,如:XMLExample。类名应该是名词。
5.常量的命名规范:常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则建议用下划线来分割这些单词。
6.方法的命名规范:方法的名字的第1个单词应以小写字母开头,后面的单词则建议用大写字母开头。
7.参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证在参数名称为一个单词的情况下,参数的命名尽可能明确。
函数:
1.讨厌长的函数。
2.一个函数,在一个层次上,只做一件事情。
3.一个函数的输入参数应该尽量少,利用对象封装参数是一种可行的方案。
4.在函数中,使用异常代替错误码是一种好的习惯,这样可以把错误的处理放在主逻辑之外。
5.函数的返回值绝对不应该是NULL,如果真的觉得应该返回NULL,不如返回特殊值或者抛出异常。
边界:
1.对第三方包的使用,一定要注意隔离。明确的边界让我们在遇到困难时有余地。
类:
1.类代码的良好顺序:公共静态常量,私有静态常量,私有实体变量,公共函数(公共函数调用的私有函数应该紧跟公共函数之后)。
在《重构 改善既有代码设计》中,反对纯粹的JavaBean,但是《代码整洁之道》中,认为在部分领域,纯粹的JavaBean很有用。而且纯粹的JavaBean代表数据结构,如果牵扯到业务,就职责不单一了。哎,仁者见仁智者见智。
命名:
1.名副其实,从名称上看出用途,如果需要注释来表达用途,你已经输了……
2.具有前缀(后缀)的命名方式是上世纪的产品,以后就忘记吧……
3.包的命名规范:域名+项目名+模块名/层名
4.类的命名规范:类的名字必须由大写字母开头,一个单词中的其他字母均为小写。如果类名称由多个单词组成,则建议将每个单词的首字母均用大写,例如TestPage。如果类名称中包含单词缩写,则建议将这个词的每个字母均用大写,如:XMLExample。类名应该是名词。
5.常量的命名规范:常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则建议用下划线来分割这些单词。
6.方法的命名规范:方法的名字的第1个单词应以小写字母开头,后面的单词则建议用大写字母开头。
7.参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证在参数名称为一个单词的情况下,参数的命名尽可能明确。
函数:
1.讨厌长的函数。
2.一个函数,在一个层次上,只做一件事情。
3.一个函数的输入参数应该尽量少,利用对象封装参数是一种可行的方案。
4.在函数中,使用异常代替错误码是一种好的习惯,这样可以把错误的处理放在主逻辑之外。
5.函数的返回值绝对不应该是NULL,如果真的觉得应该返回NULL,不如返回特殊值或者抛出异常。
边界:
1.对第三方包的使用,一定要注意隔离。明确的边界让我们在遇到困难时有余地。
类:
1.类代码的良好顺序:公共静态常量,私有静态常量,私有实体变量,公共函数(公共函数调用的私有函数应该紧跟公共函数之后)。
在《重构 改善既有代码设计》中,反对纯粹的JavaBean,但是《代码整洁之道》中,认为在部分领域,纯粹的JavaBean很有用。而且纯粹的JavaBean代表数据结构,如果牵扯到业务,就职责不单一了。哎,仁者见仁智者见智。