第2章 有意义的命名
重载构造器的时,使用描述参数的静态方法名。例如:
Complex fulcrumPoint = Complex.FromRealNumber(23.0);
通常好于
Complex fulcrumPoint = new Complex(23.0)
第3章 函数
3.1 短小
函数越短越好,最好不要超过20行
3.2 只做一件事
要判断函数是不是只做了一件事,就是看是否能再拆出一个函数,该函数不仅只是单纯地重新诠释其实现。
3.3 每个函数一个抽象层级
3.4 switch语句
1、单一权责原则:它规定一个类应该只有一个发生变化的原因。
2、开放封闭原则:核心的思想是软件实体是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。
3.6 函数参数
函数参数越少越好,而且最好不要用参数作为返回值。两个、三个或者三个以上参数,就说明其中一些参数应该封装为类了。
3.7 无副作用
函数承诺只做一件事,不会做其他藏起来的事情。名字也要起得坦诚,不要做除了名字以外的事情。
3.8 分隔指令与询问
函数要么做什么事,要么回答什么事,两者不可兼得。函数应该修改某对象的状态,或是返回该对象的有关信息。
3.9 使用异常替代返回错误码
抽离try/catch代码块;错误处理就是一件事,所以是一个函数。
4、注释
注释的作用:
1、提供法律信息(版权或者著作权声明)
2、提供信息(比如说返回值是什么)
3、对意图的解释(对代码段的解释)
4、阐释(解释参数或者返回值)
5、警示(警示代码的后果)
6、todo注释
7、放大(放大某个地方的重要性)
8、公共API中的doc文档