命名过程的目的是确保事物的名称能够反映它们的作用

Engage in sale leads forums for valuable lead-generation strategies
Post Reply
rumiseoexpate5
Posts: 56
Joined: Wed Dec 11, 2024 4:00 am

命名过程的目的是确保事物的名称能够反映它们的作用

Post by rumiseoexpate5 »

名称是否传达了事物的功能?变量和函数名称应始终努力以明确的方式传达它们的作用。这里常见的失败模式是,函数传达了它的大部分功能,但遗漏了一个重要细节。

事物的名称是否符合其所用语言的惯用语?每种语言都有变量和函数名称的书写习惯。违反这些规则会导致认知开销,因为违背了阅读代码的人的期望。更糟糕的是,在 Go 等由大小写决定可见性的语言中,这些违规行为可能会以意想不到的方式改变代码的设计。

名称会泄露实现细节吗?名称应该试图传达它们的作用,而不是它们如何做。GetIPs 是一个相对简洁的函数名称,并且根据上下文,它是一个不错的函数名称。GetIPsByReadingFromAFile 泄露了太多信息。一个微妙的例子是变量名称包含其类型,例如“ipArray”而不是“ips”。在静态类型语言中,这相当于行噪声,因为您只是在名称中重复已经声明的类型。在 厄瓜多尔 whatsapp 电话号码列表 动态类型语言中,您试图添加一层“伪”静态类型,从而削弱了动态类型的灵活性。

陷阱。陷阱通行证的目的是检查常见的编程疏忽。经验丰富的程序员会有自己的列表,但我在这里列出了我最喜欢的一些。

添加或更改的代码会以何种方式中断?在动态语言中,解决这个问题的常用方法是查看变量并询问它们是否可以是该语言版本的“null”。

此代码是否存在任何常见的编程陷阱?这包括诸如差一错误、转置错误、内存泄漏、空引用等。

拼写是否正确且一致?拼写不正确或不一致会使搜索代码变得更加困难。这里要检查的一件事是拼写错误的名称是否已被自动完成功能传播。

是否设置了任何危险的默认值?代码中的默认值是一种非常方便的方法,可以让代码用户免于不必要的输入,但需要检查默认值以确保它们在使用时不会意外失效。

Image

特定语言。特定语言通行证的目标是确保代码符合您所在组织该语言专家社区设定的标准。

代码是否符合语言习惯?不符合语言习惯的代码会增加阅读的认知负担。

是否引入了新模式?尤其是当一种语言首次在组织中使用时,就会引入新模式(可重复使用的一般问题解决方案)。值得考虑这些新模式,因为它们必然会被下一个需要解决该问题的人复制。如果引入了新模式,而该模式已经有了规定的模式,请指出。

代码是否陷入了该语言的常见陷阱?每种语言都有一些常见陷阱,初学者可能会陷入其中。常见陷阱的例子包括用 Python 编写深度嵌套的列表推导,或者试图将一种语言当成另一种语言来编写。

结论
归根结底,强大的代码审查文化是组织有意执行代码审查的结果,每个人都有责任为这种文化做出贡献。如果您已准备好改进组织的代码审查,但不确定从哪里开始,以下是一些可以帮助您入门的后续步骤:

如果您的团队没有进行代码审查,请开始。与您的团队负责人讨论开始将代码审查作为常规做法的一部分,并征求对您编写的所有代码的反馈。与任何长期变革工作一样,最重要的一步是开始。

如果您被视为技术领导者(高级工程师、员工工程师、技术主管等),请开始撰写一份工程价值观文档。让您的技术领导者同事讨论并签署该文档。在内部发布以供所有人查看。
Post Reply