编写代码时,注释写还是不写

社区服务
高级搜索
猴岛论坛辅助工具编写代码时,注释写还是不写
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
0个回复

[电脑辅助]编写代码时,注释写还是不写

楼层直达
mimi_rice

ZxID:55494225

等级: 上士
举报 只看楼主 使用道具 楼主   发表于: 2014-11-19 0

小编听过一句很有意思的话:
“程序员最讨厌的四件事:写注释、写文档、别人不写注释、别人不写文档”
豆瓣上有被折腾的大神吐槽:
“憎恨不写注释的人!!下班前准备好麻袋,还要一个榔头,血洗……”
也有同学们反驳:
“好的代码本身就是最好的注释,写一堆注释本身就说明代码有问题。”
其实众说纷纭,各有道理。每件事都有它的正反两面,优胜劣势。
在此,小编发表下自己的观点,观点清晰简洁的注释还是很有必要的。良好的代码习惯,能带来事半功倍的效果。
不管是作为范例给别人参考,还是多年后自己翻出当年的代码,良好的注释都能一目了然。
注释的书写格式                                                    
按键精灵的注释有三种格式:
本帖隐藏的内容
1.单引号:'需要注释的内容
<!--[if !supportLists]-->1. <!--[endif]-->Call 自动打怪()  '调用自动打怪子程序
2. /*需要注释的内容*/
<!--[if !supportLists]-->1. <!--[endif]-->Call 自动打怪()  /*调用自动打怪子程序*/
3. //需要注释的内容
<!--[if !supportLists]-->1. <!--[endif]-->Call 自动打怪()  //调用自动打怪子程序
注释的添加原则                                              
<!--[if !supportLists]-->1. <!--[endif]-->完美注释的第一条原则:形式统一
      简洁明了的注释,全文都用一种固定格式的注释形式,不要一会用//,一会用'。

2.完美注释的第二条原则:简洁明了
      能用一个词表达的意思,不要再啰嗦成一大段了T_T。比如“打怪”,就不要说“遇到怪物,判断血条之后……再打”
      多余无用的注释,不要~~~坚决say no
      注释的数量不要太多,不要为了注释而去注释。

3.完美注释的第三条原则:注释先于代码创建(或边写代码边写注释)
      不要太相信自己的记忆力,人脑记忆容量在一段时间内是有限的。你一转身就可能忘记你刚刚脑子里想的事呢。

      人脑的瞬时记忆容量与保持时间:
图像记忆:保持时间0.25-1秒,容量为9-20个bit(项目)
声象记忆:保持时间大约2秒,不长于4秒,容量为5个bit


4.完美注释的第四条原则:注释的位置,就近原则。
      保证注释与其描述的代码相邻,即注释的就近原则。
一般代码注释:放在其上方相邻或右方的位置,不可放在下方。
批量变量声明注释:行尾注释是合适的,在这种情况下,将所有行尾注释要对齐。

5.完美注释的第五条原则:一些添加注释的建议。

-->>典型算法必须有注释。

-->>在代码不明晰或不可移植处必须有注释。

-->>在代码修改处加上修改标识的注释。

-->>在循环和逻辑分支组成的代码中添加注释。

-->>为了防止问题反复出现,对错误修复和解决方法的代码使用注释,尤其是在团队环境中。




分享大神美美的代码注释
// 运行程序获取句柄
Event Form1.Button5.Click
    代码内容
End Event

// 运行程序获取编辑框句柄
Event Form1.Button8.Click
    代码内容
End Event

// 获取控件句柄[枚举]
Event Form1.Button6.Click
<!--[if !supportLists]-->1. <!--[endif]-->        hWnd = Plugin.tz.GetEnumWindow(CLng(Form1.InputBox1.Text), CLng(Form1.InputBox2.Text))
<!--[if !supportLists]-->2. <!--[endif]-->        MsgBox hWnd
<!--[if !supportLists]-->3. <!--[endif]-->End Event
<!--[if !supportLists]-->4. <!--[endif]-->
<!--[if !supportLists]-->5. <!--[endif]-->// 获取控件句柄[ID]
<!--[if !supportLists]-->6. <!--[endif]-->Event Form1.Button7.Click
<!--[if !supportLists]-->7. <!--[endif]-->        hWnd = GetDlgItem(CLng(Form1.InputBox3.Text), CLng(Form1.InputBox4.Text))
<!--[if !supportLists]-->8. <!--[endif]-->        MsgBox hWnd
<!--[if !supportLists]-->9. <!--[endif]-->End Event
<!--[if !supportLists]-->10. <!--[endif]-->
<!--[if !supportLists]-->11. <!--[endif]-->// 前台方式模拟画图
<!--[if !supportLists]-->12. <!--[endif]-->Event Form1.Button9.Click
<!--[if !supportLists]-->13. <!--[endif]-->    代码内容
<!--[if !supportLists]-->14. <!--[endif]-->End Event
<!--[if !supportLists]-->15. <!--[endif]-->
<!--[if !supportLists]-->16. <!--[endif]-->// 后台方式模拟画图
<!--[if !supportLists]-->17. <!--[endif]-->Event Form1.Button10.Click
<!--[if !supportLists]-->18. <!--[endif]-->    代码内容
<!--[if !supportLists]-->19. <!--[endif]-->End Event
<!--[if !supportLists]-->20. <!--[endif]-->
<!--[if !supportLists]-->21. <!--[endif]-->// 前台方式操作记事本
<!--[if !supportLists]-->22. <!--[endif]-->Event Form1.Button11.Click
<!--[if !supportLists]-->23. <!--[endif]-->    代码内容
<!--[if !supportLists]-->24. <!--[endif]-->End Event
<!--[if !supportLists]-->25. <!--[endif]-->
<!--[if !supportLists]-->26. <!--[endif]-->// 后台方式操作记事本
<!--[if !supportLists]-->27. <!--[endif]-->Event Form1.Button12.Click
<!--[if !supportLists]-->28. <!--[endif]-->    代码内容
<!--[if !supportLists]-->29. <!--[endif]-->End Event
复制代码
« 返回列表
发帖 回复