来到赤子城之后, 学到了很多代码风格层面的东西, 结合之前看博客论坛啥的, 一起来给大家总结一下.
码代码,我们需要让机器看懂, 当然我们更需要方便别人阅读 -- 本是同根生相煎何太急.
写让别人看的懂得代码
两个原则
- DRY(Don`t repeat yourself)
- 代码少,bug就会相对来说少.
- 重复代码少,维护容易.
- TED
- Terse 简洁
- Expressive 具有表达力
- Do one thing 只做一件事情
一些具体的表现
- 如果你试图写一段注释,从某种角度来看,你正在试图写一段别人无法理解的代码.拒绝注释!用方法名,变量名来代替注释.
- 如果你在命名方法名的时候,企图用or,and,if...很可能你在此方法中不止做了一件事,违反了Do one thing!
- 如果出现如下代码
if(age > 18)
.那就要注意了,鬼知道18代表什么意思.所以我们一般都会为这种赋予一个变量adult = 18
- 双重否定!!!
if(!notMe)
.你这是在浪费我的脑细胞么? - 代码写成火箭.
- HardCode问题!
if(name == "noodles")
-->if(name == Name.Noodles)
- 返回Boolean的问题
boolean isAdult(int age){
boolean isAdult;
if(age > 18){ //--> 上面说过这个问题
isAdult = true;
}else{
isAdult = false;
}
return isAdult;
}
改成如下代码
boolean isAdult(int age){
return age > 18;
}
- 复杂的条件判断
if(baba || baba && baba)
-->if(isBa())
- 嵌套判断! 如果在判断耨一个条件,应该遵循知道了结果尽早返回的思想.
- 参数过多!
void register(string name,string password,String phone)
-->void register(User user)
- 方法中有boolean参数
public void RegisterUser(User user, bool sendEmail){}
-->public void RegisterUser(User user)
,public void SendEmail(User user)
网友评论