写让别人看的懂得代码

来到赤子城之后, 学到了很多代码风格层面的东西, 结合之前看博客论坛啥的, 一起来给大家总结一下.
码代码,我们需要让机器看懂, 当然我们更需要方便别人阅读 -- 本是同根生相煎何太急.

写让别人看的懂得代码

两个原则

  • 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)

写可扩展的代码

写可测试的代码

你可能感兴趣的:(写让别人看的懂得代码)