怎么写出易于理解与阅读的函数?怎么让函数很好的表达其意图?该给函数赋予那些属性?
- 短小
函数的第一规则是短小,第二条规则还是短小。 - 单一职责
函数应该只做一件事情。 - switch语句的处理
在开发过程中,总能碰到需要使用switch的时候。但是switch天生就算要做N件事情的,这就违反了单一权责原则。我们可以通过将switch放置与抽象工厂下进行解决。 - 比较好的函数名称
优秀的函数名能较好的描述函数即将做的事,在这一块不要吝啬时间的消耗。 - 尽量少用参数
最理想状态是0个参数,尽量不要超过3个参数。 - 指令与询问应该分开
- 抽离try/catch代码块
try/catch主题应该抽取出来,另形成函数。另外,错误处理应该当作是一件事情。 - 不要重复自己
- 指令与询问应该分开
函数要么做什么事情,要么回答什么事情,两者不可兼得。比如
public bool set(string attribute,string value);
这段代码返回的true/false则会存在奇异,它是告诉attribute不存在而导致返回false,还是set失败而返回的false值呢,这就看不出来了。
if(attributeIsExits("username")) {
setAttribute("username","unclebd");
}
这样是不是就更清楚了呢。