我发现代码的评论开始变得烦人。我觉得一旦你获得了一定程度的专业知识,代码几乎就是自我记录。但评论仍然是必要的。 我想知道是否有这样的插件或IDE,这些注释的想法与代码分开。如果不存在这样的事情,你认为哪些想法对于像Eclipse这样的IDE的插件会很有用?
以Python代码为例:
def do_something(self, var):
# * 541
...
然后是一些像这样的XML:
<comments>
<comment id="541" file="x.py" line="14">This is a comment</comment>
<comments>
谢谢!
答案 0 :(得分:5)
我从来没有听说过外化评论这样的事情,我认为它们很慢或容易被破坏,因为它们总是需要更新才能与代码保持同步。此外,如果您的想法是在处理代码时完全消除它们,您可能会忘记更新它们,它们可能会变得不准确。
您应该考虑的功能是code folding。当您不想查看它们时,它们会折叠成较小的空间,而不是将注释分成不同的文件。许多IDE实现它(eclipse是一个)。
答案 1 :(得分:2)
好的评论添加信息,例如为什么,他们不重复代码,所以我不同意这个问题的前提。
然而,为了配合这个想法,我可以想象一个IDE在你编辑时隐藏评论,但是将它们分开存储是一个混乱的秘诀。
答案 2 :(得分:2)
不要忘记好的评论解释意图和后果,而不是字面上的代码正在做什么。
话虽如此,您是否看过IDE中的代码折叠? Eclipse(一个)将collapse comments并隐藏它们。只需按一下按钮即可显示它们。注释保留在代码中并与相关部分绑定,没有任何间接(正如您所建议的那样),因此您可以在任何编辑器/环境中查看它们。
答案 3 :(得分:1)
适用于大多数编辑器的快速修复方法是更改语法高亮颜色方案,使注释不可见或几乎不可见,例如白色背景上的浅灰色文本。
如果您的编辑器支持多种配色方案,那么您可以拥有一个隐藏注释的方案,另一个隐藏除注释之外的所有颜色方案,然后在它们之间进行交换。
答案 4 :(得分:0)
Donald Knuth在“文学编程”(这是谷歌搜索的一个很好的起点)的标题下大量探讨了这个话题。他写了一个名为 Weave (或者 Web ?)和 Tangle 的程序,它可以像你要求的那样,但是对于Pascal代码。< / p>
我担心这个想法从来没有离开过,我从来没有听说过类似于Python的任何类似内容。
现在,有一个程序员社区,他们相信编写简短的方法,其名称和变量名称足以描述,以使评论(通常)不必要。我们其余的人只是滔滔不绝地评论我们一直以来的方式。
<强>更新强>
我撒了!这里有一个名为PyLit的东西:http://pylit.berlios.de/literate-programming/index.html。此外,对整个事情进行了相当广泛的讨论。