嗨,我有50页的代码,我应该写评论... 你可以告诉我最好的方法。我的意思是我需要你给我写的......样品, 的意见应该几乎涵盖一切(类,构造函数,属性,方法,事件,函数)如何写评论
如何写评论
回答
不评论什么是显而易见的像
//The width of the line is 2
lineWidth = 2;
或
//Clones the snapshot
tempDraw = (Bitmap)snapshot.Clone();
有可能是一个好主意,解释为何一定的代码行是存在的。例如,解释为什么
panel1.Invalidate();
需要失效。
其基本思想是:在注释中添加额外的信息并将其用于解释,不要创建冗余和重复。
编辑:
您可能还需要解释为什么在工具栏上的每个项目必须是未选中这里:
private void toolStripButton1_Click(object sender, EventArgs e)
{
foreach (ToolStripButton btn in toolStrip1.Items)
{
btn.Checked = false;
}
...
}
,因为不是从按钮被点击该事件处理程序的名称明显以了解为什么所有按钮都未被选中。
一个很好的注释是这样的:
private void toolStripButton1_Click(object sender, EventArgs e)
{
//Deselect all previously applied filters because the user clicked "disable all",
//which removes the effects of all filters and we want to show this the the user
foreach (ToolStripButton btn in toolStrip1.Items)
{
btn.Checked = false;
}
...
}
在我看来,最好将控件重命名为toolStripButtonDeselectAllFilters,而不是将控件命名得如此糟糕,以至于每次引用它时都需要注释来解释它的作用。 – 2010-01-01 14:28:19
马克,当然重构将是最好的选择。但为了“修复”它只使用评论,我想这是最合适的解决方案。 – 2010-01-01 14:40:29
不,不要把时间花在那些无论重要还是必须重做的事情上。什么也不做,或重构。 – 2010-01-01 15:10:31
好注释将记录意图,无法正常工作。
使用“赋予x到y”或类似评论来分配作业基本没有用处。
用代码目标最终实现的前提条件和后置条件更高级地评论代码要好得多。您需要评论(比如说)特殊的实现或检查,这些实施或检查是必要的,但与直觉相反,并且可能参考规范文档等。
如果您已经评论50页代码,我怀疑您正在执行此操作在你的项目的错误阶段。我倾向于评论一个类别或方法的意图,其前/后的条件之前的来写它。这是一种迷你规范。
+1。我的“评论”规则是,他们应该告诉*为什么*正在做某件事。代码已经告诉*正在做什么*。 – paxdiablo 2010-01-01 13:51:45
,我建议你在Visual Studio中使用XML注释。这样做也可以自动为您的代码生成文档,其他开发人员也可以通过intellisense查看哪些方法可以做到。
http://www.winnershtriangle.com/w/Articles.XMLCommentsInCSharp.asp
你应该不花时间写文档现在,你应该重构此代码。从类结构的角度来看,设计是不正确的。你的代码应该尽可能的结构化,这样一个类有一个单一的责任,它试图实现,并有一个相应的名字。
你的Form1(坏名字,b.t.w)确实太多了。它应该要求其他物体来帮助它。你可能想要引入一个Tool类,它知道哪个标签文本和光标是合适的。您可能希望对不同的形状使用继承来以特定于形状的方式执行绘图。这样,你的Form1只需要委托给当前的工具。
通过更好的结构,您可以减少必须编写的文档数量。 你可能想查找CRC卡。
我其实刚刚写了一个blog post on this subject。请记住,代码不可能包含任何评论并且完全可读,这是100%可能(但可能不是最好)。
- 1. fb:comments - 如何评论评论
- 2. 为Simulink写评论
- 3. 如何嵌入Google Plus撰写评论
- 4. 如何使用python编写excel评论?
- 5. 如何写评论的正确方式
- 6. 如何批量评论gerrit评论?
- 7. 如何评论评论的工作?
- 8. 评论:如何评论 - 或 - >
- 9. 如何使用评论框评论框使用评论系统
- 10. 如何使用Django的评论框架评论评论
- 11. Facebook的评论|我如何在发布前评论评论
- 12. 评论评论
- 13. 在位图上写评论
- 14. Microdata - 撰写评论文章
- 15. 在Django中写评论
- 16. 包/评论评论
- 17. 评论评论标记(嵌套评论)
- 18. 如何使回复评论引用评论的ID在论坛
- 19. 如何设计Facebook评论插件,如'真实'的Facebook评论?
- 20. 评论和子评论
- 21. Facebook评论:全部评论
- 22. Typescript ESDoc如何评估评论范围?
- 23. 如何存储Markdown评论
- 24. 如何获得在评论
- 25. SSRS如何添加评论
- 26. 如何评论sp mysql
- 27. XDocument如何评论元素
- 28. 如何评论红宝石
- 29. 如何回复评论? (PHP)
- 30. 如何部署评论?
-1:做我的家庭作业。你能提供一个更小,更紧凑的片段吗?你能问一些更具体的问题吗? “选择任何部分和表演”是相当粗鲁的,你不觉得吗? – 2010-01-01 13:41:49
不要删除答案提到的代码 – 2010-01-01 14:36:38
嘿,代码在哪里? – 2010-01-01 14:41:09