1
3
“必须为所有方法提供JavaDoc” 我强烈怀疑记录所有方法是强制性的,但是提供JavaDoc注释是可以自动强制执行的,因此所有这些都是统一完成的。 我个人认为没有javadoc比完全无用的javadoc更好——至少你可以从HTML的一瞥中看到哪些方法是未记录的,因为没有对参数的描述等等。
文档经常被低估,因为在编写代码时,它总是比稍后使用时更不重要和紧迫。但是文档的样式和形式常常被高估——自动生成的XML胡说八道仍然是胡说八道。如果可以选择,我宁愿让代码注释
据我从你的文档中所知,这个函数实际上没有修改
至于什么时候授权文件——我认为
界面
必须记录在案。如果你没有定义Java
如果你有代码审查,那么IMO的答案是同时审查评论和文档。如果没有代码检查,则需要 cone of shame 对于最近迫使其他人过来询问代码实际做了什么的开发人员来说。 同样的情况也适用于任何依赖于函数的未记录行为的人,结果是实现的改变没有改变接口,从而破坏了他们的代码。强制代码被记录下来的方法是抱怨在知道它保证要做什么之前不能调用它。“JavaDoc注释必须存在”之类的任意规则变得不那么重要,至少对于其他开发人员需要调用的函数而言。 |
2
0
为了 大的 您正在创建的项目或框架/库,甚至是开源项目,都是必需的。对于小型个人或私人项目,这是可选的。尽管如此,记录代码始终是一个好主意,因此如果您在一年后回到项目中,无论大小,您都知道它在做什么。这真的很有帮助。 |
3
0
您应该始终记录您的代码。尤其是当其他人在你的代码上工作或将要工作的时候。也许您还没有机会处理遗留的没有文档记录的代码,但这可能是一个真正的痛苦! 关于注释本身,有一件事要避免,那就是写注释,因为它是强制性的,只要思考几秒钟,你就会发现一些关于你的方法的信息,一些还没有出现在方法名中的信息,一些对下一个开发人员来说可能不明显的信息。解释你的方法做了什么,角落案例是什么,它期望输入什么。 记住:
它也适用于注释:) |
4
0
维护“自记录”代码要容易得多。如果选择好的函数和变量名,请保持函数简短(例如,每个函数只有一个想法的10行),这将有助于保持代码的目的清晰。而且你不必试图保持评论的最新-唯一比没有评论更糟糕的是评论是错误的! 有一个好的和最近的各种观点的总结在 InfoQ . |
5
0
代码文档非常重要。但JavaDoc(或类似的工具)并不是实现这一点的唯一方法,也不是最佳方法。最大的缺点是,JavaDoc文档必须保持最新。如果更改了方法,但描述保持不变,则此文档可能会带来更多的麻烦。 要避免文档与代码不同步的问题,请使用代码到文档。单元测试显示如何使用代码,代码中的断言可以确保参数和返回值得到验证。在一个项目中,我向一个计算添加了断言,这个计算中的概率总是在0和1之间。稍后,这个断言在用例中触发,并将我直接指向一个bug。 最重要的文档是一个好的命名。如果你设置一个泡沫,那么泡沫是一个好名字。在您的示例中给出的javadoc没有为这个命名添加任何内容。frobit是一个不太好的名字,方法3将非常糟糕。代码评审应该有助于获得良好的命名。 如果其他方法不够,则应添加javadocs和ither文档。但在这种情况下,您需要注意,这个文档总是最新的。 |
6
0
问:记录所有方法是强制性的还是可选的? 答: 强制性的 . 问:有没有规定哪些方法需要记录? 答: 所有这些 . 问:要求记录每种方法的利弊是什么? 答:优点:聪明人可以把时间花在写代码上,而不是花在找出代码上。代码解释得很好。代码可以传递给新手。欺骗: 哀鸣 . 陈旧的评论
最后一个例子: Carmack Inverse Square Root code. 自我记录,嗯? |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 6 年前 |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
RudziankoÅ · 合并排序数组算法 7 年前 |
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
hippietrail · 确定浮点数中前导零的数量 7 年前 |