优雅编程之这样注释代码,你就“正常”了!
2016-07-12 18:42
495 查看
开心一笑
【有一对男女正在吃晚餐,那个女生一直问那个男生:你爱不爱我? 男生看了女生一眼又继续吃晚餐 女生很生气又再问了一次:你爱不爱我? 男生终于说:爱 女生又问:那你要怎么证明? 忽然男生从口袋里拿了三十元出来,且问女生:你有没有十元? 女生拿了十元给了男生……男生就把四十元放在桌上 过了一会儿….. 女生很生气的问男生:你到底要不要证明你爱我啊!男生说:我己经证明了啊!四十摆在眼前! 省得麻烦】提出问题
项目中的代码如何注释才合格???简书地址:http://www.jianshu.com/users/d38a3668be58/latest_articles
解决问题
下面是来自《代码整洁之道》中自己的一些简单总结:1)观念:整洁清楚的代码比注释要好得多,代码即注释,真正好的注释就是考虑不用写注释,注释就是一种失败;
2)删掉被注释掉的代码;
3)TODO注释,提示尚未完成的工作;
4)真正需要注释的地方:
提供法律信息
具有警示性的注释;
描述一些业务场景;
有些函数现在还是一个空壳,但在将来可能有用,有必要写
5)避免括号后面的注释;
下面提供一个例子,方便理解:
package com.hwy.test; /** * 代码整洁之道 * Created by Ay on 2016/7/11. */ public class CodeCleanTest { public static void main(String[] args) { /** 这段代码是不需要注释的,看方法名称就可以清楚知道意图了 **/ engagements(); boolean isMerryMe = canMerryMe(); if(isMerryMe){//避免括号后面的注释,例如这 getMarried(); /** 删掉被注释掉的代码; **/ //String ring = ""; } /** TODO注释,提示尚未完成的工作 **/ //TODO 结婚生子 /** 悄悄话内容,这里涉及到一些业务上的事,所以需要注释下 **/ String whisperContent = getwhisperContent(); } /** * 获得悄悄话内容 * @return */ public static String getwhisperContent(){ return "XXX OOO"; } public static void engagements(){ System.out.println("约会"); } public static boolean canMerryMe(){ boolean isLoveMe = true; if(isLoveMe)return true; return false; } public static void getMarried(){ System.out.println("结婚"); } }
读书感悟
来自《Zero to One》在科技剧烈改变世界的今天,想要成功,你必须在一切发生之前研究结局。
创新不是从1到N,而是从0到1
如果你以讲故事的方式来对描述一个事物的话,人类往往都很乐意去给出反馈。所有的故事往往都使用同样的基础框架。下面就是一个简单的来自著名的皮克萨斯动画工作室的告诉我们应该如何说故事的框架规则:
在过去()。每一天()。有一天()。因此() 。因此()。直到最后()。
列夫托尔斯泰《安娜 卡列尼娜》所说的:“幸福的家庭总是相似的,不幸的家庭各有各的不幸”
对未来不明确的悲观主义者: 一个对未来不明确的悲观主义者看到的未来是阴郁的,但却是束手无策的,所以这种人会喜欢把钱存起来以应对不明确的未来,却也正是因为未来的不明确而不会去进行投资。
对未来明确的悲观主义者:在对未来明确的悲观主义者相信未来是可知的,但却是暗淡的,所以必须提前做好准备。所以贫困点的就能省则省,有点钱的就会大肆投资掠取金钱以备‘寒冬‘的到来。
对未来明确的乐观主义者:在对未来明确的乐观主义者眼中,如果计划缜密,工作努力,未来会比现在更好。所以这样的人都不会寄希望于储蓄,而是坚信未来是光明的,更愿意去投资去开创事业,赚取更大的利益!
对未来不明确的乐观主义者:一个对未来不明确的乐观主义者只知道未来会变得越来越好,却不知道究竟有多好,因此不去定制具体计划。他想在未来获利,但是却没有必要制定具体计划。
探索秘密的最佳处所就是无人关注的地方。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!相关文章推荐
- thinkphp项目_简历网站
- 单片机生成二维码 C语言代码
- 字符串处理总结之一(C#String类)
- Java内部类的使用小结
- Eclipse 分屏显示同一个文件
- java能不能自己写一个类叫java.lang.System/String正确答案
- 关于C#的dll中类的静态成员变量
- C#配置项的保存与读取
- 图像视觉领域部分新进展对应的开源代码
- 【转载】MyEclipse中web项目引用java项目
- ARCGIS ENGINE + C#画点、线、面
- C#窗口关闭之后timer仍然在运行
- Python Opearte MS-SQL Use Pymssql
- JAVA里的String、Timestamp、Date相互转换
- Java 8 interface default方法
- JAVA设计模式之单例模式
- 使用Python编写一个最基础的代码解释器的要点解析
- 在C++中使用栈来把中缀表达式转换为后缀表达式并求值,简单明了
- Python 小甲鱼教程 课后练习20
- Root后安卓截屏代码