接上回,今天列一下自个潜意识里的一些观点吧,没有细想,也许还有待补充吧。

  • 变量与类名应该是名词,描述一个东西是什么。
  • 方法名与函数名应该是动词,描述一个事儿是要做什么。
  • 容器类型的变量,应该采用复数形式。
  • 命名都应该有真正的含义,不能是foo、bar之类无意义流,也尽量避免type, group,这种容易让人迷惑的歧义流。
  • 命名同时尽量不要使用缩写,即便你觉得别人肯定知道你所用的缩写词的含义。
  • 别把单词拼写错误,也许一些拼写错误别人很容易的懂了,但也可能给人造成非常大的迷惑。
  • 用业务逻辑来命名和用实现逻辑来命名都好,但要在适当的地方与层次结构中。不能一个地方又有beijing,又有city_with_zipcode_is_2,这种叫法。
  • 一般良好的函数或方法,实现不会太长。但分辨单个方法是否有bad smell最重要的判定还是这个方法是否是在做一件事儿。并且在一个合适的抽象等级上。
  • 在某些确实很难让人通过代码就对逻辑一目了然的情况下,应当加以适当的注视并辅助说明。
  • 接上条,当你决定填写注释的时候,要保证点,保证你的注释是正确的,保证你的注释以后也是正确的。
  • 千万不要注释调试代码或者废弃代码,前者挪到单元测试里,后者则是版本控制会帮你做的事儿。
  • 要注意在程序中适当的地方,写日志,并且记得给日志加上适当的级别。
  • 代码的格式应该遵循所使用的语言的标准,而不是特立独行的完全按照自个的喜好来。
  • 好的代码,就是两个月之后你是否愿意去读它,是否还能一目了然的知道自己的意图以及为什么这么写。