优秀的编程风格(Java篇)——高薪必看

今天突发奇想,对编码习惯和编程风格很感兴趣,于是乎,找了一下关于编程风格(Java篇)的资料,希望对爱好编码或者开始学习编码的同学有帮助!

来自《The Elements of Java Style》-《Java编程风格》一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快!

好处不多说了,但是有几个原则如下

1.保持原有风格

2.坚持最小惊奇原则

3.第一次就做对

4.记录所有非规范行为

格式规范:

1.缩进嵌套的代码:在每个代码块和嵌套中加入缩进,缩进代码,加强可读性。这些地方包括【类定义,内部类定义,方法定义,静态块,for循环语句,if-else语句,try、catch和finally块,匿名内部类,while语句,do-while语句】

2.断开很长的句子:第一,如果包含了逗号,那么在每一个逗号后面都另起一行,把逗号后面的每一个表达式都和逗号前面的表达式的第一个字母对齐。第二,应该在优先级最低的运算符之前断行。

3.使用空白:关键字和左括号之间,右括号和紧随其后的关键字,除了"."之外的运算符与其前后的表达式之间用空格隔开。每个逻辑上独立的方法和代码段之间,定义类或者接口的成员之间,每个类和接口之间应该加入空白行。

4.不要直接使用Tab控制符:不同环境对Tab控制符的解释也是不同的。

命名约定:

1.名称应该具有实际意义

2.使用人们熟悉的名称

3.谨慎使用过长的名字,可以使用简明通用的缩写

4.尽量保留元音字母

5.缩写词的第一个字母大写

6.不要使用大小写来区分的名字

包命名:

1.用你所在组织的域名的倒序小写形式作为包的根限定词

2.使用单独的小写词作为每个包的根名

3.仅当新旧版本二进制兼容的时候,其包可以使用相同的名字,否则,请使用新名字

类型命名:

1.类和接口名中的每个单词的第一个字母大写

类命名:

1.用名词命名类

2.具有成组相关属性,静态服务或者常量的类名字使用复数形式

接口命名:

1.用名词或者形容词命名接口

方法命名:

1.方法名中的第一个单词小写,其后每个单词的第一个字母大写

2.用动词命名方法

3.遵循JavaBean中命名属性访问函数方法:set,get,is

变量命名:

1.变量命中的第一个单词小写,其后的每个单词的第一个字母大写

2.用名词命名变量

3.集合引用名要用复数形式

4.为不重要的临时变量简历并使用一套标准名字

字段命名:

1.使用this字段变量可以区分开局部变量

参数命名:

1.构造函数或者"set"方法给字段分配参数赋值,参数名应该和字段名相同

常量命名:

1.常量的每个单词均大写,单词之间使用下划线连接

文档约定:

1.为使用和维护你的代码的人编写文档

2.注释和代码要同步

3.使用积极的语气,省略无用的词语

注释类型:

1.用文档注释来描述编程接口

2.用标准注释格式隐藏代码而不必删除它们

3.用单行注释解释实现细节

文档注释:

1.在编写代码前描述编程接口

2.为公用,受保护,包,私有成员建立文档

3.为每个包编写总结和概述

4.为包的每个应用程序或组编写概述

注释风格:

1.对所有文档注释使用统一的格式和组织结构

2.关键字,标识符和常量应放到<code>...</code>标签中

3.将代码放入<pre>...</pre>标签中

4.在标识符第一次出现的时候用{@link}标签

5.为Javadoc标签简历并使用一套固定的顺序

6.使用第三人称叙述的形式

7.编写独立的概述

8.省略概述中动作和服务的主语

9.省略事物概述中的对象和动词

10.使用this而不是the来指代当前类中的实例

11.方法名或者构造函数名不需圆括号,除非你想突出一个特殊的签名

注释内容:

1.每个类、接口、字段和方法都编写概述

2.完整描述每个方法的签名

3.包含示例

4.为前置、后置、不变条件编写文档

5.为已知的缺陷和不足编写文档

6.为同步语法编写文档

内部注释:

1.仅添加有助于理解你的代码的内部注释

2.描写代码为什么这样做,而不是在做什么

3.避免使用行尾注释

4.用行尾注释解释局部变量声明

5.建立并使用一套关键词来标识尚未解决的问题

6.在嵌套程度高的控制结构中标记出嵌套结束位置

7.如果两个case标记之间没有break语句,就在中间加入“fall-through”注释

8.标记空语句

编程约定:

1.将表示基础数据类型的类声明为final类型

2.通过本地类型和其他具体类型建立具体类型

3.定义小的类和小的方法

4.定义子类,以便任何使用超类的地方都可以使用子类

5.使所有字段私有

6.使用多态来替代instanceof

类型安全:

1.以java.lang.Object包装通用类,提供静态类型检查

2.以类的形式封装枚举类型

3.尽量使用泛型

语句和表达式:

1.用等价的方法替换重复的、复杂的表达式

2.使用块语句代替控制流结构的表达式

3.使用括号明确操作顺序

4.在switch语句中的最后一个case体使用break语句

5.使用equals(),而不是==来检测对象的对等关系

构造:

1.构造状态有效的对象

2.不要从构造函数中调用非final方法

3.用嵌套的构造函数消除冗余代码

异常处理:

1.使用不受检查、运行时的异常来报告可能在程序逻辑中出错的严重未查明错误

2.使用检查异常来报告可能发生,而在正常的程序运行时极少发生的错误

3.用返回代码报告可预知的状态改变

4.仅转化异常来添加信息

5.不要私自处置运行时或者错误异常

6.用finally语句块释放资源

断言:

1.按照约定编程

2.用无用代码消除机制实现断言

3.用断言捕捉代码中的逻辑错误

4.用断言检测方法的前置条件和后置条件

并发:

1.仅在适当的地方使用线程

同步:

1.避免同步

2.用同步的包装器,提供同步接口

3.如果方法包含几个不需要同步的重要操作,那么不要同步整个方法

4.读写实例变量的时候避免不必要的同步

5.使用notify()而不是notifyAll()

6.为同步初始化使用双重检查模式

效率:

1.使用懒惰初始化

2.避免创建不必要的对象

3.重新初始化并重新使用对象,尽量不要新建对象

4.把优化工作留在日后

打包约定:

1.将经常使用、更改、同时发布或者互相依存的类型,放在同一个包里

2.共同封闭原则

3.重用/发布等价原则

4.无环依赖原则

5.将不稳定的类和接口隔离在单独的包中

6.易于修改的包不要依赖于难以修改的包

7.最大化抽象最大化稳定性

8.将高层设计和架构作为稳定的抽象,组织为稳定的包

以上仅是一些规则简单的罗列,推荐阅读此书。

时间: 2024-10-10 03:04:41

优秀的编程风格(Java篇)——高薪必看的相关文章

java架构师之路:JAVA程序员必看的15本书的电子版下载地

转自:http://www.shangxueba.com/faq/view376.html 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们. 一.Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java

java新手小白必看的学习路线图,快速入门!

要学习Java,你首先得了解一下什么是java: java新手小白必看的学习路线图,快速入门!Javaweb是用Java技术来解决相关web互联网领域的技术总和.说的简单的就是写网站的一种语言.一般分为前端和后端两种方向,前端所做的东西就像幕前表演的演员,所做的就是让网页看起来顺眼,用起来顺心,而后端则属于处理数据,让程序处理速度.能力不断优化,属于幕后.前后端的配合才能是一个网站正式投入使用.最后,如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈,点击我加入

Mysql数据库优化技术之配置篇、索引篇 ( 必看 必看 转)

转自:Mysql数据库优化技术之配置篇.索引篇 ( 必看 必看 ) (一)减少数据库访问 对于可以静态化的页面,尽可能静态化 对一个动态页面中可以静态的局部,采用静态化 部分数据可以生成XML,或者文本文件形式保存 使用数据缓存技术,例如: MemCached (二)优化的检测方法 1.用户体验检测 2.Mysql状态检测 在Mysql命令行里面使用show status命令,得到当前mysql状态. 主要关注下列属性: key_read_requests (索引读的请求数)(key_buffe

JAVA程序员必看的15本书-JAVA自学书籍推荐

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们.此外,大家可以加入457036818交流群,互相分享一下关于JAVA方面的知识.一.Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是"囫囵吞枣不求甚解",先对Java熟悉

从编程菜鸟到技术大牛必看书籍

语言经典书: C:C程序设计语言(K&R)->C和指针->C专家编程->C陷阱与缺陷->你必须知道的495个C语言问题 C++: C++ primer ->effective C++->深度探索C++对象模型->stl源码分析->C++必知必会 java:java编程思想->java并发编程->深入理解Java虚拟机:JVM高级特性与最佳实践 算法经典书: 算法导论->数据结构与算法分析(维斯)->编程之美->剑指off

武汉java培训:大牛Java程序员必看书籍

学java程序员,大部头的书籍是技术升级的必备工具,对于有基础的java程序员,市面上适合初学者的大量书籍男入法眼,武汉java培训专家为大家分享了一份高阶的java书籍,拿走不谢: 下面我分享的书单绝对值得拥有.我尽力避免列出为特定软件或框架或认证的Java书,因为我觉得那不是纯Java书. 1.<Java in a Nutshell>(Java技术手册) 与其说是必读书籍,还不说是参考文献. 2.<The elements of Java style>(Java编程风格) 目标

描述一下你最常用的编程风格---JAVA

(1)类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java1.1和Java 1.2的区别之一). (2)为了常规用途而创建一个类时,请采取“经典形式”,并包含对下述元素的定义:equals()hashCode()toString()clon

Java项目命名规范(简洁版)——高薪必看

作为一个优秀的项目经理或项目带头人,必须养成良好优秀的项目命名规则和习惯.接下来把查到的资料整理一下,实际上,在很多项目中,也是遵循以下的规则. 一.项目名 全部小写,比如cms.workdesk,jobserver等 二.java相关命名 a.类命名:每音节单词前的第一个字母大写,比如FieldInfo.Expression等\ b.普通变量(包括spring里的变量引用命名):第一个单词前小写,以后每个单词第一个字母大写,password,primaryFlag c.静态变量:全部大写,多个

Java编程学习知识点分享 入门必看

阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软件包或"工具箱"的接口说明.API包含了工具箱中所有类或子程序及其使用说明. Applet:与可以单独运行的应用程序不同,Applet是一种在Web浏览器中运行在Web页面上的Java程序. 动画(animation):由一组静态图片快速显示展示出动态效果.每一幅静态图片叫做帧.在Java中,动画通常由 Timer 对象驱动.