Dan*_*ski 10 language-agnostic coding-style
我一直在想:是否有任何确凿的事实表明更短或更长的标识符更好?
例:
clrscr()
Run Code Online (Sandbox Code Playgroud)
反对
ClearScreen()
Run Code Online (Sandbox Code Playgroud)
短标识符应该更快阅读,因为字符越少但标识符越长通常更像自然语言,因此阅读速度也应该更快.
是否有其他方面表明简短或冗长的风格?
编辑:只是为了澄清:我没有问:"会什么你?在这种情况下做的." 我问理由是偏爱另一个,即这不是民意调查问题.
请,如果可以的话,添加一些原因,为什么一个宁愿一个风格比其他.
Ric*_*ler 21
我会清楚说明冗长或严重.
ClearScreen()
Run Code Online (Sandbox Code Playgroud)
比解析更容易
clrscr()
Run Code Online (Sandbox Code Playgroud)
在我看来,但是
ClearScreenBeforeRerenderingPage()
Run Code Online (Sandbox Code Playgroud)
只是噪音.
Car*_*ter 14
缩写给读者带来了更大的负担.他们含糊不清; 他们是间接的; 他们更难区别对待.他们也给作家带来了负担,因为他/她必须一直在问,"那是Cmd for Command,还是Cmnd ......还是Cm?".它们发生冲突 - 给定的缩写规则可以为两个(或更多)不同的单词生成相同的缩写.
因为它们含糊不清,读者必须花时间思考意图是什么词; 如果这个词本身存在,读者只需要考虑它的含义.
因为它们是间接的,所以它们类似于指针 - 就像每个指针取消引用消耗的处理时间一样,每个缩写消耗一点(人)处理时间,占用额外的内存.
我记得前一段时间拉里沃尔的一次谈话,当你在团队中有非英语母语人士时,他谈到了标识符的冗长.
ClearScreenBeforeRerenderingPage()
如果你是英语母语人士,请解析好.但他建议(和经验表明):
Clear_Screen_Before_Rerendering_Page()
好多了
如果不同时使用大写和小写,效果会加剧.
我的基本规则是每行代码只写一次,但读10,100或1000次.据此,打字的努力完全无关紧要.重要的是努力阅读一些东西.
当然,仅这一点仍然留下足够的主观意见空间(clrscrn足够可读吗?),但至少是以某种方式缩小了领域.
我个人的偏好是有冗长的公共标识符和短私有标识符.
公开我指的是类名,方法名,全局变量和常量,包,命名空间 - 简而言之,任何可以从大量地方和大量人员访问的东西.
私有我指的是局部变量,私有成员,有时候是参数 - 只能从有限的局部范围内访问的东西和仅由单个开发人员访问的东西.
还要考虑它的使用位置,ClearScreen()可能会单独出现.
然而,当了解到标识符必须易于阅读的新程序员时,你会感到畏缩,产生类似的代码.
screenCoordinateVertical = gradientOfLine * screenCoordinateHoriontal + screenCoordinateOrigin;
Run Code Online (Sandbox Code Playgroud)
代替
y = m*x + C;
Run Code Online (Sandbox Code Playgroud)