声纳,java和'尾随评论'违规

vec*_*tor 8 java code-comments sonarqube

在我的一个项目上运行Sonar后,我发现了"尾随评论"的违规行为.所以我想知道,这是否与Java的接受/推荐的代码布局约定完全相关,还是"它还有更多"?背后的原因是什么?当我查看一些C++代码时(最近的Doom代码审查,有大量(或充满活页夹)的尾随注释.

Swa*_*nil 15

来自着名的书Code Complete:

  • 必须对齐注释,以便它们不会干扰代码的可视结构.如果你没有整齐地对齐它们,它们会使你的列表看起来像是通过洗衣机.

  • 结束语评论往往难以格式化.对齐它们需要时间.没有花时间学习更多关于代码的知识; 它专门用于按空格键或标签键的繁琐任务.

  • 终结评论也难以维持.如果包含结束注释的任何行上的代码增长,则会使注释更加突出,并且所有其他结束注释都必须突然匹配.不保持难以维护的样式.

  • 终结评论也往往是神秘的.该行的右侧不提供太多空间,并且希望将评论保持在一行意味着评论必须很短.然后工作尽可能地缩短生产线,而不是尽可能清晰.评论通常最终会变得神秘.

  • 终结评论的一个系统性问题是,很难为一行代码编写有意义的评论.大多数结束语评论只是重复代码行,这会比它有所帮助.

话虽如此,它也是关于编码风格的选择.我个人会避免尾随评论,因为他们没有那么多帮助.

  • @vector 我赞成渗透作为一种教育技术。 (2认同)

Dav*_*ton 5

仅仅因为某些内容落后的评论并不意味着它们是好的.另外请记住,Doom 3的代码大约有10年的历史,编码风格随着时间的推移而变化.

通常,尾随注释表明一行代码不能独立存在.而且,一般来说,这是代码味道,因为单行代码应该相当透明.

通过查看一些源代码,我实际上看不到大量的尾随注释,但是我看到很多方法太长了,并且在函数中间有很多注释.

这些通常表明以下代码值得拥有自己的方法.

我认为是的,还有更多,而"更多"是沟通和清晰.