对代码命名的一点思考和理解

从代码的命名可以看出写代码的人编程时思路是否清晰,如果你对一个名字的命名不准确,很可能体现出你还没有理解这个名字背后的东西。

代码命名的优缺点

不好的命名

  • 对代码难以理解
  • 会误导阅读代码者的思维

良好的命名

  • 可维护性就大大增强
  • 通过思考该名称是否正确表达了事物的本质或正确反映了某个行为的逻辑,反过来帮助我们纠正之前的一些错误设计和代码实现。

代码命名混乱或错误的主要原因

  • 没理解事物的本质
  • 理解了事物的本质,但不知道命名的重要性或者根本不屑于做好命名
  • 理解了事物的本质,也知道命名的重要性,但没能力命名好事物

养成良好的命名习惯的一些想法

方法

  • 写代码时要有一种希望把每个名称都命名好的强烈意识和严格的自律意识
  • 分析和思考当前被你命名的事物或逻辑的本质
  • 多学习英文,多看国外优秀开源项目中的命名技巧
  • 注意命名的方法技巧:知道何时用动词,何时用名词
  • 属性的名字都要和其实际所代表的含义一致;方法所做的事情都要和该方法的名字的含义一致
  • 命名风格总是一致
  • 不要出现重复的命名
  • 对于属性或类名,应该总是名词在最后面,名词决定了这个属性代表什么,前面的部分都是用于修饰这个名词。(例1)
  • 对于方法,应该总是动词开头,名词结尾。(例2)

例1

比如我们有一个服务类,然后又是一个关于订单的服务类,那就可以命名为 OrderService,这样命名就是告诉我们这是一个服务,然后是一个订单服务。再比如 CancelOrderCommand,看到这个我们就知道这是一个 Command,即命令,然后是什么命令呢?就是一个取消订单的命令,CancelOrderCommand 表示取消订单

例2

比如 Order.add_item(order_item) 这个,表示订单类有一个添加订单项的方法,add 是动词,表示添加,item 是名词表示订单项。

规则

  • 避免使用缩写
  • 避免出现对象类型,例如 user_array, email_method CalculatorClass, ReportModule

相关链接

如果觉得我的文章对您有用,请在支付宝公益平台找个项目捐点钱。 @Victor Sep 22, 2014

奉献爱心