代码是给人看的 Pt.3
常量名、变量名、函数名、类型名等等等等。在开发的每一个维度上都有特定术语,贯穿研发生涯一生的事情是我们到底要如何命名。
在编写已有领域概念的代码,我们会直接使用它的领域词汇。
在图论里用图、边、顶点描述。
在购物里我们用买家、卖家、顾客、店家等等描述。
我们现有了名词。因为我们要有具体的业务,所有我们的名词会有各式各样的形容词。
我的代码命名规则
名词解释
名词:noun
形容词: adj
动词 : verb
组合形式
名词 (non)
名词 + 形容词 (noun + adj)
动词 + 名词 (verb+ noun)
动词 + 名词 + 形容词 (verb + noun + adj)
名词 + 通用数据结构名词 (noun + (DS(data structure(List/Set/Map/KV/Tree))))
规则解释
我们需要对代码命名有规则要求,是因为我们需要将代码记住,然后在大脑中检索。通过规则分类后,内容符合记忆规律,降低理解和检索成本。
假设有一个东西出问题了,需要检索,如何快速定位?
这个东西通常是名词,需要细分判断,是过程出问题,还是结果出问题
过程出问题的重点在于实现过程的行为,就是 verb + non
结果出问题的重点在于一种数据的衍生数据,有可能是业务意义上的 non + adj, 有可能是工程意义上的 non + adj + DS
AI
构建完善的业务语言,诚实的反映在代码中,将会让 AI 理解的正确概率更高,反哺的代码质量也将更高。科学家 AI 在模拟人类,那么你就要向如何帮助人类一样帮助 AI