当开发环境非常善于让用户知道每一项是什么时,绝对讨厌的是为了它而命名规则
正如标题所暗示的那样,如果开发人员命名所有类型、对象、变量等,是否存在任何陷阱;snake_case";,特别是在Kotlin。忽略自动生成的名称进行绑定等。
编码风格,例如命名,对编译器来说并不重要。
但这对人类来说很重要——正如几位智者曾经说过的那样,"程序必须是为人们阅读而编写的,而只是偶然地为机器执行而编写的。">
命名的一致性意味着你不必停下来思考是否使用下划线或大写字母(或空格或短划线或后引号内的任何内容(;它使类和方法更容易在代码、库和框架中找到;它更好地利用Kotlin属性(在字节码中寻找getXxx
/setXxx
/isXxx
方法(;它消除了开发者之间分歧的根源;它不太可能导致IDE、框架和源代码工具出现问题,这些工具往往认为您使用的是标准命名约定;它使新开发人员更容易掌握代码库。
但是,最重要的是,不遵循惯例iS_нa的代码℞𝐝𝑒𝕽-τଠ𐍂ɘⱭ𐐼.当工作原理相同的东西看起来相同时,差异就更容易看出。你花在破译名字上的时间越少,就有更多的时间来理解代码对它们的作用。这也是为什么我们使用一致的压痕、间距、结构和设计模式的原因。通过减少表面差异,您可以更容易地看到代码中的底层结构和模式,偏差(以及错误(变得更加明显。
编码——包括调试、维护和增强以及编写新代码——是很难的,而且我们人类是有限的,所以我们应该让事情尽可能简单。开发软件是一场与复杂性的持久战;每一个小小的简化都会有所帮助。您可能会认为使用snake_case而不是camelCase是无关紧要的;但你在这里问这个问题就表明它有不同!
这个问题和这个问题的答案为一致性的重要性提供了更多(而且更有说服力(的理由。
(碰巧的是,我花了很多年的时间使用喜欢snake_case的语言,也使用喜欢camelCase的语言,我肯定发现后者在上下文中更容易阅读。但这远不如一致性重要。(
除了与其他开发人员争论这一点,以及对所有库函数的调用看起来不同之外,该语言将完美地工作,而不在乎这一点。