Questions tagged «comments»

有关在代码中编写注释的问题。

11
版本控制注释-过去或现在时[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 对于版本控制注释,其他用户会做什么/推荐吗?过去或现在时? 即 将 x 更改为y。 要么 将 x 更改为y。

3
使用严格类型输入时docblock类型提示是否多余
我有一个相当大的私有代码库,它已经发展了大约十年。我没有使用phpDocumentor,但是由于使用docblock节已经成为开源项目中的标准,所以我也为存储库中的所有公共方法采用了编写docblock的方法。大多数块仅包含一个小的描述以及所有参数和返回类型的类型提示。 随着静态分析的到来,这些类型提示已帮助我找到了很多不一致之处和可能的错误。最近,我已经使用PHP的typehints将整个代码库(现在在PHP7.2上运行)转换为具有所有参数和返回值的类型提示。现在我在想...这些docblock typehints是否多余?它需要进行大量工作,以使所有docblock与不断变化的代码保持同步,并且由于它们不添加任何新信息,我想知道完全删除它们是否更好。 一方面,即使有多余的内容,删除文档也感觉很糟糕。在另一种情况下,我真的很想打破已经重复进行提示的“不要重复自己做”的日常类型提示内容。
12 php  comments 

2
用重构注释扩展代码是一个好主意吗?
我正在研究“意大利面条代码”项目,并且在修复错误和实现新功能的同时,我还进行了一些重构,以使代码可以进行单元测试。 这些代码通常紧密耦合或非常复杂,以至于修复一个小错误将导致许多类被重写。因此,我决定在代码中停止重构的位置画一条线。为了清楚起见,我在解释这种情况的代码中添加了一些注释,例如: class RefactoredClass { private SingletonClass xyz; // I know SingletonClass is a Singleton, so I would not need to pass it here. // However, I would like to get rid of it in the future, so it is passed as a // parameter here to make this change …


7
在高周转环境中,更多评论更好吗?
我今天在和一位同事聊天。我们为两个不同的项目编写代码。就我而言,我是唯一编写我的代码的人。在她的案例中,有多个人在同一代码库上工作,包括相当定期(每8-12个月之间)来来去去的合作学生。她说自己对自己的言论持开放态度,无处不在。她的理由是,它可以帮助她记住事情在哪里以及做什么,因为许多代码不是她编写的,并且可以由她以外的其他人更改。同时,我尝试将代码中的注释减至最少,仅将它们放在不明显的解决方法或错误的地方。但是,我对代码整体有了更好的了解,并且可以对其进行更直接的控制。 我的意见是,评论应尽量少,代码应能说明大多数情况,但她的推理也是有道理的。她的推理有什么缺陷吗?它可能会使代码混乱,但是如果有很多人在中短期内对其进行操作,则最终可能会很有帮助。


6
评论是否被视为文件形式?
当我为自己编写小型脚本时,我会将代码和注释高度堆积在一起(有时注释比代码更多)。我要说的很多人都说,即使这些脚本是个人的,我也应该记录这些脚本,以便如果我确实出售它们,我将做好准备。但是注释不是文档形式吗? 这不是吗: $foo = "bar"; # this is a comment print $foo; # this prints "bar" 被视为文档,特别是如果开发人员正在使用我的代码?还是认为文档不在代码本身之外?

3
是否需要XML注释文档?
我曾经是要求XML注释用于文档的爱好者。从那以后,我改变了主意,主要有两个原因: 像好的代码一样,方法应该是不言自明的。 实际上,大多数XML注释都是无用的噪声,不会提供任何附加值。 很多时候,我们只是使用GhostDoc生成通用注释,这就是我所说的无用噪声: /// <summary> /// Gets or sets the unit of measure. /// </summary> /// <value> /// The unit of measure. /// </value> public string UnitOfMeasure { get; set; } 对我来说,这很明显。话虽如此,如果要包含特殊说明,那么我们绝对应该使用XML注释。 我喜欢这篇文章的摘录: 有时,您将需要写评论。但是,这应该是例外而不是规则。仅当注释表示无法用代码表达的内容时,才应使用注释。如果要编写简洁的代码,请努力消除注释,而改写自记录代码。 我认为我们仅应在代码不足以自行解释时使用XML注释吗? 我相信这是一个很好的示例,其中XML注释使漂亮的代码看起来很难看。需要上这样的课... public class RawMaterialLabel : EntityBase { public long Id { get; set; } …

5
当方法注释经常如此相似时,是否应该同时包含摘要和返回说明?
我是正确编写代码的支持者,并且我很清楚其可能存在的弊端。这超出了这个问题的范围。 考虑到我在Visual Studio中非常喜欢IntelliSense,我喜欢遵循为每个公共成员添加XML注释的规则。 但是,存在一种形式的冗余,即使像我这样的过多评论者也会对此感到困扰。以List.Exists()为例。 /// <summary> /// Determines whether the List<T> contains elements /// that match the conditions defined by the specified predicate. /// </summary> /// <returns> /// true if the List<T> contains one or more elements that match the /// conditions defined by the specified predicate; otherwise, false. /// …

7
编写文档,了解Java中的equals等众所周知的方法
为equals,compareTo等广为人知的方法编写注释是否是一种好习惯? 考虑下面的代码。 /** * This method compares the equality of the current object with the object of same type */ @Override public boolean equals(Object obj) { //code for equals } 我的公司非常想输入上述注释。是否需要上述Javadoc注释?equals方法之类的方法(compare,compareTo)等不是很明显并且很好理解吗? 您有什么建议?
10 java  comments 

1
“ TILT”在评论中是什么意思?
我正在阅读Robert C. Martin的Clean Code,该短语TILT在某些代码示例中莫名其妙地出现。示例(顺便说一下,它是在Java中): ... public String errorMessage() { switch (status) { case ErrorCode.OK: // TILT - Should not get here. return ""; case ErrorCode.UNEXPECTED_ARGUMENT: return "Unexpected argument"; case ErrorCode.MISSING_ARGUMENT: return "Missing argument"; ... } ... 从上下文来看,我猜测是TILT指定一个无法访问的状态,并且仅包含该状态以满足编译器的要求(例如,在上面的代码中,TILT出现这种ErrorCode.OK情况是因为如果状态为OK,则不会出现错误消息),但是我不确定。 有人知道TILT代表/意味着什么吗?

3
如何在文档中引用代码的特定区域?
我要离开一个项目,在我去之前,我的老板要我记录代码(我没有很好地记录文件)。这没什么大不了的,该项目并不复杂。但是我在我的文档中找到了一些要说的地方,“在XYZ行上通知某某某事”。 在这种情况下,引用特定的行号是没有意义的,因为添加或删除一行代码会立即使文档过期。是否有一些最佳实践来引用特定的代码行而不通过行号引用它? 我已经考虑过在代码中添加如下注释: /* linetag 38FECD4F */ 其中“ 38FECD4F”是该特定行的一些唯一标记。然后,我可以放入文档中,“在标记为'38FECD4F'的行上,注意这样的事情会发生。” 还有其他想法吗?我觉得通常最好记录整个代码单元,而不是记录它们的特定部分,但是在这个特定项目的情况下,会有大量的过程代码,这些代码从未被分解成较小的单元。


8
为什么每个人都用大写字母写待办事项?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我也一样 当我的代码中有要做的事情时,我写//TODO ...。但是我很好奇,这是什么时候开始的,是否有理由在所有大写字母中写“待办事项”?
9 comments 

7
注释/代码内文档样式
这可能是一个愚蠢的问题,但是已经出现了一段时间,在其他任何地方都找不到合适的答案。 我有一位老师说,即使只有一个,我们也应该明确列出每个参数的描述。这导致很多重复: double MyFunction(const int MyParam); // Function: MyFunction // Summary: Does stuff with MyParam. // Input: int MyParam - The number to do stuff with. // Output: MyParam with stuff done to it. 在编写代码文档时,您有多详细?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.