优雅编程之这样格式代码,你就"正常了"!
2016-07-13 18:42
295 查看
开心一笑
【太阳给草打电话 。太阳:喂,草你吗?我日。
草:我草,你谁啊?
太阳:我日啊!
草:我草,你到底谁啊!
太阳: 我日啊,你草吧!
草:TMD,你到底是谁啊,我草!
太阳:我日,我日啊 !
草:我草。
太阳的妈妈抢过电话:草,我日他妈,草你妈好吗?】
提出问题
优雅的写代码,需要注意哪些代码格式???解决问题
代码的格式对一个开发人员是非常重要的。工作中,开发人员在维护代码的时候经常会埋怨别人的代码写的很烂,如果不严格要求自己,以后就会成为别人眼中的”别人”了。下面是来自《代码整洁之道》中自己总结的几点。1)垂直放向上的区隔:不同的逻辑之间用空格间隔;
例:在导入申明,方法和方法之间用空白行隔开,这是正确的做法
package com.hwy.test; public class CodeCleanTest { public static void main(String[] args) { eat(); sleep(); playPeas(); } public static void eat(){ System.out.println("吃饭"); } public static void sleep(){ System.out.println("睡觉"); } public static void playPeas(){ System.out.println("打豆豆"); } }
例:在看看下面的代码,没有相关的分隔行,代码可读性较差差。
package com.hwy.test; public class CodeCleanTest { public static void main(String[] args) { eat(); sleep(); playPeas(); } public static void eat(){ System.out.println("吃饭"); } public static void sleep(){ System.out.println("睡觉"); } public static void playPeas(){ System.out.println("打豆豆"); } }
格式:
2)垂直方向上的靠近:关系密切的逻辑要靠近才会更加清晰(可看System这个类的实现);
3)变量申明尽可能靠近使用的地方;
例:
package com.hwy.test; public class CodeCleanTest { String food = "吃饭食物"; public void eat(){ System.out.println(food); } public void sleep(){ System.out.println("睡觉"); } String peas = "豆豆"; String feel = "爽"; public void playPeas(){ System.out.println("打" + peas); System.out.println("感觉" + feel); } //-----------上面是正确的,下面是错误的------------------------ String food = "吃饭食物"; String peas = "豆豆"; String feel = "爽"; public void eat(){ System.out.println(food); } public void sleep(){ System.out.println("睡觉"); } public void playPeas(){ System.out.println("打" + peas); System.out.println("感觉" + feel); } }
4)相关函数:放在一起,调用者放在被调用者的上面;
例:
package com.hwy.test; public class CodeCleanTest { String food = "吃饭食物"; public void eat(){ System.out.println(food); /** 调用的sleep函数应该写在eat函数的下面 **/ sleep(); } public void sleep(){ System.out.println("睡觉"); String peas = "豆豆"; String feel = "爽"; /** 调用的playPeas函数应该写在eat函数的下面 **/ playPeas(peas,feel); } public void playPeas(String peas, String feel){ System.out.println("打" + peas); System.out.println("感觉" + feel); } //----------上面是正确的写法,下面是错误的----------------- public void sleep(){ System.out.println("睡觉"); String peas = "豆豆"; String feel = "爽"; /** 调用的playPeas函数应该写在eat函数的下面 **/ playPeas(peas, feel); } String food = "吃饭食物"; public void eat(){ System.out.println(food); /** 调用的sleep函数应该写在eat函数的下面 **/ sleep(); } public void playPeas(String peas, String feel){ System.out.println("打" + peas); System.out.println("感觉" + feel); } }
5)水平方向:以不拖动滚动条为准则,代码行长度80个字符可以接受,最多120个字符,再多,你想逆天啊;
6)* / + =,+=等前后的空格可以起强调的作用,同时空格可以强调逗号;
例:
String food = "吃饭食物"; public void eat(){ System.out.println(food); sleep(); } public void sleep(){ System.out.println("睡觉"); String peas = "豆豆"; String feel = "爽"; playPeas(peas,feel); } /** 这里 String peas和String feel有个空格,强调逗号分割 public void playPeas(String peas, String feel){ long startTime = System.currentTimeMillis(); System.out.println("打" + peas); System.out.println("感觉" + feel); long endTime = System.currentTimeMillis(); System.out.println(endTime - startTime); }
7)缩进,只有一行的也按缩进规则来;
例:
package com.hwy.test;
public class CodeCleanTest { String food = "吃饭食物"; public void eat(){ System.out.println(food); String time = "白天"; sleep(time); } public void sleep(String time){ if(time.equals("黑夜")){ System.out.println("睡觉"); } //-------上面写法是正确的,下面写法错误-------------- if(time.equals("黑夜")){System.out.println("睡觉");} } }
8)遵守团队规则,这点很重要;
读书感悟
来自《般若波罗蜜多心经》简称《般若心经》或《心经》舍利子,色(存在)不异空,空(虚无)不异色,色即是空,空即是色,受想行识,亦复如是。
是诸法空相,不生不灭,不垢不净,不增不减
是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。无无明,亦无无明尽,乃至无老死,亦无老死尽。无苦集灭道,无智亦无得。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!相关文章推荐
- PHP 7.0 新特性
- PHP下载功能代码实现
- DOM编程艺术(音频、视频)
- ASP.NET: Web deployment task failed.
- Eclipse4.4及以上版本安装FatJar
- 用PHP发送POST请求
- 学习Java的第一步是安装好JDK
- 500 Lines or Less——可视化编程工具(Blockcode)
- 给Python爱好者推荐一本好书
- discuz 登录代码流程
- Python爬虫抓取代理IP并检验可用性
- C++中的对齐方式及sizeof小结
- ASP.NET中使用JqGrid完整实现
- C/C++语言中#的神奇作用:把宏参数字符串化/贴合宏参数
- eclips导入项目jdk版本不一样解决方案
- php常用的header()头信息
- eclips导入项目jdk版本不一样解决方案
- 七、Python模块和包
- Matlab GUI的文件打开和保存uigetfile uigetdir
- 源码分析-java-collection接口