有时为了使变量/方法/类名称具有描述性,我需要使其更长。但我不想,我想要有易于阅读的短名称。所以我想到了像Visual Studio这样的IDE的特殊插件,能够为类,方法,字段编写短名称,但能够附加长名称。如果你需要 - 你可以做到这一切,或者你可以长单名。如果你想减少它 - 使用减少,就像两个相同代码的视图一样。我想知道其他人在想什么?你觉得它有用吗?有人会使用那种插件吗?
答案 0 :(得分:9)
为什么不使用Visual Studio中内置的标准XML注释系统。 如果在类/方法/变量等上面键入///,它会创建注释存根。 这些注释通过Intelisense / Code Completion弹出,附加信息。
通过这种方式,您可以在评论代码时保持命名约定的简洁性和描述性。 您可以运行一个流程,然后使用这些注释为您的代码创建文档。
答案 1 :(得分:8)
变量名称应该尽可能长,以使其可识别,如果它比您想要的长一点,这是否重要?只要代码是可读的和可理解的,这肯定没有区别吗?
对于名称太长而无法用作变量/类名称的注释。这将更合适。
如果方法名称太长,那么它不应该只是一个方法......
我不会使用像这样的插件。
答案 2 :(得分:6)
我从不担心长名。如果方法名称变得太长,它也可能表明该方法做得太多(除非它恰好包含一个非常长的单词)。另一方面,我也尽量避免重复自己。例如,我不会Account.AccountId
,而是Account.Id
。我也依靠命名空间;如果命名空间清楚我所在的域名,我通常会尝试不在类名或成员名称中重复这一点。
底线;我看不出自己在使用这样的插件。
答案 3 :(得分:4)
没有这个插件的其他程序员会发现自己遇到麻烦,因为如果你的名字太短,他们就不会完全理解代码,如果你给出长名字,他们就会浪费时间阅读并最终生气,因为长名字难以记住: p
一个人必须找到所写内容的最佳名称,imho不需要开关来打开和关闭标识符的详细程度。
我不会使用那个插件。
答案 4 :(得分:1)
Nor I.事实上,你在谈论VisualStudio。使用IntelliSense记住大多数变量名称(长和短)需要很大的负担。正如Power所说,只要代码具有可读性和可理解性,那就非常重要。
答案 5 :(得分:1)
使用ReSharper 4及更高版本,您可以自动扩展驼峰或Pascal类型和变量名称:
(来源:jetbrains.com)
因此,您可以调用变量myExtremelyLongAndDescriptiveVariableName
,但只需输入mELADVN
即可使用它。
答案 6 :(得分:0)
我认为我不想要它。
在不同视图之间切换的开销与点击F12和阅读该函数的注释一样多,这将始终比长名称更具描述性。
答案 7 :(得分:0)
我不会。
在某些情况下,长函数名称可能很方便。如果您有特殊情况或某事。 一些例子:
你喜欢乘法,乘法还是乘法?乘以我的选择
选择功能名是一个让你的代码清晰使用的问题,如果你的名字太小而你必须阅读评论以了解该功能的作用,那么你做错了
答案 8 :(得分:0)
IDE,文本编辑器和编译器支持有限(如果有限)形式的所述功能 - 即源代码注释。我认为评论做得很好,并没有看到任何描述插件的必要性。如果评论太长,可以折叠。如果您需要没有注释的源代码,您可以使用相似内容的正则表达式轻松删除它们。
答案 9 :(得分:0)
我喜欢短名称 易于阅读。
这通常是矛盾的。
以oScBf
之类的名称为例,如果你还不知道它的含义几乎是不可读的。是outputScreenBuffer,onlineSourceBitflag,openScannerBrowsefile,outdoorSpecialBikinifavorites ......?
更长的标识符名称通常是可取的。尽管阅读起来更多,但它仍然更容易理解。
阅读代码在某些方面类似于阅读文本。如果你开始添加大量的缩写,你希望它遵循某种模式易于阅读。和文本中的非标准词你好2停下来想想它意味着什么,你就失去了流量。 :)
答案 10 :(得分:0)
这是一个坏主意。变量名通常不需要很长时间才能充分描述,你会浪费大量时间编写每个名称的两个版本,而且许多程序员可能会发现为同一个东西拥有多个名称会让人感到困惑。
使用XMLDoc和intellisense帮助,您可以添加完整描述代码元素所需的任何额外细节 - 名称不需要描述细节,只能清楚明确地了解代码元素的用途。< / p>
随着名称自动完成功能的推出,不再有任何理由抱怨需要大量输入的长名称。
此外,良好的编码风格是使代码易于阅读,理解和维护,而不是将更多代码打包到更小的空间。
OO设计应该有助于将功能分层次地分解为命名空间和类,从而减少在类/方法级别对这种长名称的需求)
最后,如果你真的必须缩短名称,大多数语言大多数语言提供了简单的方法来剥离命名空间和/或为名称添加新的别名(例如'typedef'和'使用'在C ++中'使用'在C#中) ,因此在局部区域,如果您愿意,可以通过缩短的变体或别名轻松引用长名称。
答案 11 :(得分:-2)
我喜欢这个主意。这真的很好,我向你表示祝贺,并希望你成功地开发它。虽然我永远不会使用这样的附加组件。