当前位置:   article > 正文

一文搞定代码中的命名_代码命名

代码命名

导语

Phil Karlton 曾经说过:计算机科学领域只有两件难事:缓存失效和命名。而命名又是写出整洁代码基础中的基础,本文的副标题其实是《关于命名的读书笔记》,自己在学习过程中的整理出来一点心得笔记,共勉!


为什么要做好命名?

任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。—— Martin Fowler

整洁的代码如同优美的散文。—— Grady Booch

程序写出来是给人看的,附带能在机器上运行。–《计算机程序的结构与解释》

读悬疑侦探类小说,透过神秘的文字推测故事情节是个挺不错的体验。但是如果是在阅读代码,这种体验会让你泪奔。


做好命名很难

起名字这件事看似不难,但是要经过深思熟虑,取出名副其实、表达性好的名字并不是一件很容易的事。

命名为什么难呢?因为命名的过程本身就是一个抽象和思考的过程,在工作中,当我们不能给一个模块、一个对象、一个函数,甚至一个变量找到合适的名称的时候,往往说明我们对问题的理解还不够透彻,需要重新去挖掘问题的本质,对问题域进行重新分析和抽象,有时还要调整设计和重构代码。因此,好的命名是我们写出好代码的基础。

就像Stack Overflow的创始人Joel Spolsky所说的:“起一个好名字应该很难,因为一个好名字需要把要义浓缩在一到两个词中。(Creating good names is hard, but it should be hard,because a great name captures essential meaning in just one or two words.)“

此外,Martin Fowler也表示过,他最喜欢的一句谚语,就是我们的导语中提到的那句话:“在计算机科学中有两件难事:缓存失效和命名。(There are only two hard things in Computer Science:cache invalidation and naming things.)”


变量命名

1)好的命名的注意事项

1.1)命名要名副其实

这是为变量命名时最重要的考虑选项。名字要完全、准确的描述出该变量代表的事物。

最简单的方法是用文字描述变量所表达的含义,对变量的描述就是最好的变量名。这种名字很容易阅读,因为它不包含容易晦涩的缩写,同时也没有歧义。因为他对代表的事物做了完整描述,因此不容易混淆。

如描述运动场中座椅数数量,number_of_sets_in_the_stadium

备注: 本文命名都以python的命名方式书写,其他语言的根据语言命名格式转换即可。

如果有一种变量你没法描述,那么说明你可能要重新思考业务,思考逻辑。

1.2)以问题为导向

好记的名字往往反映的通常都是问题,而不是解决方案。好的名字通常表达 what ,而不是 how ,如果名字反映了计算的某些方面而不是问题本身,那么它反映的就是 how 而不是 what

举例子说明一个员工的数据记录,input_rec 或者 employee_datainput_rec 反映的就是输入记录这些计算机学术用语。employee_data 则直指问题。那么 employee_data 就是个好名字。

1.3)最佳的命名长度

变量名的最佳长度似乎应该介于 nnumber_of_sets_in_the_stadium 之间。太短的名字无法传达足够的信息。太长的名字很难写,同时还会使程序视觉结构变得模糊不清。

国外的大佬 Gorla、Benander 研究发现,当变量名平均在

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/349313
推荐阅读
相关标签
  

闽ICP备14008679号