Java 编码规范有感
应小组要求,开发测试都需要考阿里编码规范,因此,相当于是突击了一下关于编码规范方面的知识,目前做的项目后期需要进行项目迁移,数据迁移,功能迁移... 各种迁移...
阿里巴巴编码规范(Java)考试地址:https://edu.aliyun.com/course/417/lesson/list
阿里Java代码规范标准学习笔记: https://www.jianshu.com/p/59f5a5cbdf7c
额...别说这些有的没的,总之,我是过了哟...哈哈哈哈哈哈哈...原谅我笑的跟个傻纸似的...
与其说是规范,还不如说是所有开发人员所遵循的一套通用准则,以此来保证开发编码的通用性,如编码的准确性,注释说明,易读性,维护性...
编码规范 与 设计模式 同理,都是总结出来的一套通用性开发准则,对于其遵守性,为了使自己与团队之间便于理解、维护,尽量遵守通用的开发准则。
记得刚工作的时候,老大说了这么一句话,现在写的代码将会在以后的很长一段时间来使用与维护,而且若是与金融、保险、信息等相关的程序时,代码需要更加严谨、精确、明了,所以开发者都应该有一点代码洁癖,这是对,还有不知道在哪里看过这么一句话,代码本身就是最好的注释,优雅(赏心悦目)的代码更便于维护,编码规范的重要性不言而喻。
本篇随笔不是介绍阿里编码规范到底如何牛逼,到底怎么遵循,这些已经在《阿里巴巴java开发手册》中写的非常细致了,里面包含了编程规约、异常日志、单元测试、安全规约、数据库以及工程结构,建议在团队内,每个开发者都能看一看,毕竟IT不像其他行业,需要个人风格特别鲜明,因此尽量调整一下自己的一些编码特点吧... ...
刚才看了一篇博客,博主写的还是蛮好的,博文地址是:https://blog.csdn.net/kimylrong/article/details/7700311
【 以下是上面链接中的内容,看看呗,改善下自己的编码特点吧...
作为一个苦逼的程序员,因为种种原因经常需要阅读别人写的代码。您是否有因代码杂乱冗余而心生厌恶,您是否有过因代码晦涩难懂而抓狂,您是因代码低级的逻辑错误而愤概,您是否因代码结构不合常规而需要到处查找,您是否因看到几百甚至上千行代码的方法而望洋兴叹,您是否因代码缺少注释而猜测以及花很多时间去理清楚前后逻辑。苦逼的我全部遇到过并且很多很多,这些代码的作者从世界500强顶级IT公司到几十人的小公司同事,从印度美国新加坡人到中国人,从七八年的老人到刚入行的菜鸟。相信您也遇到过。这些人有一些共性,应付任务,个性十足以及不思进取!如果您是程序员菜鸟,那么您一定遇到很多并且既是肇事者又是受害者,这是必经之路;如果你是业界大牛,不用说您眼里别人的代码都或多或少都有问题,遇到的情况更多!
都说代码是程序员的第二张脸,写了太烂的代码背后一定会遭人鄙视。请遵循一些简单的规范,写干净一致的代码!请把您的个性用在写出最简单易懂的代码上面,而不是晦涩冗余无用的代码,甚至自我签名!您的才华应该表现在设计良好的结构和模式,表现在干净易懂的代码,表现在对空间的尊重,对代码的尊重。这样您才能赢得别人的尊重!请记住代码不是一次性的,需要重复的修改和重构,为未来写点代码!以下我总结几点Java里面最基本的小规范:
1. 写干净整洁的代码,请尊重空间,请尊重人眼的偏好
1.1 去除没有用到的类引用,eclipse里面Ctrl+Shilft+O。看到一大片的因为类引用没有用到而报的警告信息简直就是灾难,空间和视觉都没有得到尊重。
1.2 记得格式化代码,eclipse里面Ctrl+Shilft+F。看到一大片杂论无章,连基本的对齐都没有的代码也是很大的灾难,视觉脑力都会受到挑战。
1.3 不要吝惜废弃的老代码,eclipse里面Ctrl+D。有些人对待已经废弃的老代码比对待自己的老婆还宝贝,大量运用注释来保留,随 着代码的演变暂用非常大量的空间。如果那段代码非常精妙,舍不得删,那么请把它移到您的私人代码库。
1.4 请不要写冗余无用的代码。if(true)之类的代码块完全不应该出现,用空行隔开该段代码是更好的选择。
1.5 请合理运用空行。空行可以用来隔开相对独立的代码块,有利于阅读和理解。但是不要使用超过一行的空行,对空间,别太奢侈了。
1.6 请不要在两个地方出现完全相同的代码,您总是可以想办法重用的,不是吗?
1.7 命名类,方法,变量慎用简写,除非大家都公认。全称我都不一定看得懂,简称您太高估我的智商了!请问qrbs代表什么,可能火星人知道吧!
1.8 把所有的类变量放到最前面,如果比较多请按用途分组排列,不要把变量散落在大江南北,我找的真的很辛苦!
1.9 拆分大的类,大的方法,如果您的类有一万行,如果您的方法有一千行,我真的会恐惧,是恐惧!
2. 高效运用注释
2.1 规范的注释类信息。请查看一下Java标准库的String.java源码吧,包括文件名,日期,作者,版本号等信息,用统一的模板。千 万别把您的大名散落于方法签名甚至于具体代码里面了。我在读业务逻辑的时候没有兴趣思考您的人生!要找您我可以在类签名里面找到的,放心啊!
2.2 非Java Bean的public方法都需要注释,您总不会要别人读您的代码才能调用您的代码吧!即便您的英文非常好,命名也非常规范,您总不能期待别人都英文好,理解都一样吧。
2.3 为不容易理解类变量注释。类变量特别是私有的类变量没有人要求注释,但是为了能够快速的了解您表示的是什么,还是写点什么吧!您知道我英文不算好!
2.4 注释代码段,注释逻辑选择。上面提到运用空行分割开逻辑相对独立的代码,那么请在空行的下一行也写点下面代码段要干什么的语句吧。 如果有if else等逻辑选择的时候,麻烦也花几秒钟写上判断的依据和结果好吗?逻辑难懂且关键,您懂的!
3. 不断学习,不断思考,不断实践,更上一层楼
3.1 遇到不懂的,请先google,一定要学会,不然就一直不会了,回头发现工作六七年没有工作两年的小朋友懂的多!
3.2 看别人代码时要汲取好的方法和技巧。
3.3 接触一项技术要升入了解和实践,请问您做过的系统您现在都可以从零开始搭建起来了吗,我的意思是架构搭建哦!
3.4 书里面有知识,有思想,有时间的话还是多精读几本经典书籍吧。您会受益匪浅!
以上只是一点个人的想法,您可以接受或者反驳。谢谢您的时间,就这样!
---------------------
作者:kimy
来源:CSDN
原文:https://blog.csdn.net/kimylrong/article/details/7700311
版权声明:本文为博主原创文章,转载请附上博文链接!
特附上链接,尊重原博主(侵删)】
学习博文链接:
https://blog.csdn.net/weixin_42488570/article/details/80775727
https://blog.csdn.net/mengdonghui123456/article/details/68066766
还有好多,烦请自行搜索下...
Java 编码规范有感的更多相关文章
- 资料推荐--Google Java编码规范
之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...
- Eclipse formater(google Java 编码规范)
1. 谷歌Java编码规范 http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 2. 下载配置文件: https://co ...
- 标准的Java编码规范手册
编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题.今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助. 编码规范的意义 ...
- 阿里Java编码规范
详细,全面 很不错 阿里 Java编码规范
- Java基础学习总结(92)——Java编码规范之排版、注释及命名
为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行 下列情况应该使用一个空行: ...
- CheckStyle,定制属于自己的Java编码规范
前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...
- Google 推出的 Java 编码规范(转)
原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http: ...
- Google的Java编程风格指南(Java编码规范)
这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...
- 个人整理--Java编码规范
编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件 ...
随机推荐
- 利用包管理器安装Node.JS
步骤1:用curl获取源代码在我们用卷曲获取源代码之前,我们必须先升级操作系统,然后用卷发命令获取NodeSource添加到本地仓库. root@ubuntu-15:~#apt-get update安 ...
- oracle 新增字段
alter table shop_procategory add (category_ORDER_FIELD number(10) default '0' not null);comment on c ...
- 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址
树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...
- ubuntu上runsv/runit小记
一个偶然的原因,在研究git使用时,发现有个自动启动的git-daemon进程: wellbye@AY130622174524343529Z:~$ ps aux|grep git root ? Ss ...
- R: 导入 csv 文件,导出到csv文件,;绘图后导出为图片、pdf等
################################################### 问题:导入 csv 文件 如何从csv文件中导入数据,?参数怎么设置?常用参数模板是啥? 解决方 ...
- 拦截导弹 (NYOJ—79) 最长字串问题 (NYOJ—17)
这是到动态规划的题目,属于有顺序的0 1 背包问题: 代码: #include<stdio.h> #include<string.h> ][]; //d[i][j] ]; in ...
- Java Script 学习笔记 -- 基础知识
Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...
- 计算像素亮度(Pixel Light)
RGB有亮度吗?常用公式: Y(亮度)=(0.299*R)+(0.587*G)+(0.114*B)
- 【leetcode 3. 无重复字符的最长子串】解题报告
思路:滑动窗口的思想 方法一:滑动窗口 int lengthOfLongestSubstring(string s) { /* 控制一个滑动窗口,窗口内的字符都是不重复的,通过set可以做到判断字符是 ...
- ASP.NET控件之RangeValidator控件
作用:对Textbox或者输入框进行范围验证: 属性:ControlToValidate:要验证的控件: ErrorMessage:错误提示信息: MaxiMumValue:最大值: MinimumV ...