Java 编码规范有感

Wesley13
• 阅读 627

  应小组要求,开发测试都需要考阿里编码规范,因此,相当于是突击了一下关于编码规范方面的知识,目前做的项目后期需要进行项目迁移,数据迁移,功能迁移... 各种迁移...

  阿里巴巴编码规范(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

  还有好多,烦请自行搜索下...

(愿你的每一行代码,都有让世界进步的力量    ------   fn)

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
Java编码规范
命名类名使用UpperCamelCase风格。领域模型相关命名:DO/DTO/VO/DAO等。方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase风格。常量名全部大小写,单词间用下划线隔开,不要嫌名字长。抽象类使用Abstract或Base开头。异常类命名使用Exception结尾。测试类命名以
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
Java代码编写规范(转)
编码规范1前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程。系统继承的其它资源中的源程序也应按此规范作相应修改。2适用范围本文档将作为java编程人员软件开发的编程格式规范。在项目Java部分的编码、测试及维护过程中,要求严格遵守
Stella981 Stella981
2年前
JavaScript程序编码规范
这是一套适用于JavaScript(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.yaohaixiao.com%2Fcategory%2Ffrontend%2Fjavascript%2F)程序的编码规范。它基于Sun的Java程序编码规范。但进行了大幅度的修改,因为JavaS
Stella981 Stella981
2年前
Intellij IDEA安装阿里代码规范插件
要养成一个好的编码习惯从自己编码开始,对自己代码的合理化命名,编码不仅对自己有好处,而且别人也容易读懂你的代码。所以下载阿里的代码规范插件来约束自己凌乱的代码。阿里规范插件GitHub地址:https://github.com/alibaba/p3cIDEA安装该插件步骤:1.打开IDEA,FileSetteingsPlug