JavaCoding规范
华为JAVA编程规范

1 Java 编程规范1.1 排版1.1.1 规则规则1程序块要采用缩进风格编写,缩进的空格数为4个,不允许使用TAB缩进。
(1.42+)说明:缩进使程序更易阅读,使用空格缩进可以适应不同操作系统与不同开发工具。
规则2分界符(如大括号‘{’和‘}’)应各独占一行,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序或者static、,synchronized等语句块中都要采用如上的缩进方式。
(1.42+) 示例:if (a>b){doStart();}规则3较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
(1.42+)示例:if (logger.isDebugEnabled()){logger.debug("Session destroyed,call-id"+ event.getSession().getCallId());}规则4不允许把多个短语句写在一行中,即一行只写一条语句(1.42+)说明:阅读代码更加清晰示例:如下例子不符合规范。
Object o = new Object(); Object b = null;规则5if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while,switch等语句的执行语句无论多少都要加括号{},case 的执行语句中如果定义变量必须加括号{}。
(1.42+)说明:阅读代码更加清晰,减少错误产生示例:if (a>b){doStart();}case x:{int i = 9;}规则6相对独立的程序块之间、变量说明之后必须加空行。
(1.42+)说明:阅读代码更加清晰示例:if(a > b){doStart();}//此处是空行return;规则7在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
阿里JAVA开发规范,助你写出更干净整洁的代码

阿⾥JAVA开发规范,助你写出更⼲净整洁的代码⼀、命名风格1.【强制】类名使⽤UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO2.正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal /TaPromotion3.反例:macroPolo / UserDo / XMLService / TCPUDPDeal /TAPromotion4.【强制】⽅法名、参数名、成员变量、局部变量都统⼀使⽤lowerCamelCase 风格,必须遵从驼峰形式。
5.正例:localValue / getHttpMessage() / inputUserId6.【强制】常量命名全部⼤写,单词间⽤下划线隔开,⼒求语义表达完整清楚,不要嫌名字长。
7.正例:MAX_STOCK_COUNT 反例:MAX_COUNT8.【强制】抽象类命名使⽤Abstract 或Base 开头;异常类命名使⽤Exception 结尾;测试类命名以它要测试的类的名称开始,以Test 结尾。
9.【强制】Model 类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。
10.反例:定义为基本数据类型Boolean isDeleted;的属性,它的⽅法也是isDeleted(),RPC框架在反向解析的时候,“以为”对应的属性名称是deleted,导致属性获取不到,进⽽抛出异常。
11.【强制】对于Service 和DAO 类,基于SOA 的理念,暴露出来的服务⼀定是接⼝,内部的实现类⽤Impl 的后缀与接⼝区别。
正例:CacheManagerImpl 实现CacheManager 接⼝。
12.【推荐】为了达到代码⾃解释的⽬标,任何⾃定义编程元素在命名时,使⽤尽量完整的单词组合来表达其意。
正例:从远程仓库拉取代码的类命名为PullCodeFromRemoteRepository 反例:变量int a;的随意命名⽅式。
阿里巴巴开发规约

阿里巴巴开发规约1. 引言阿里巴巴开发规约是阿里巴巴集团在软件开发过程中的一套规范和准则,旨在提高代码质量、可维护性和可扩展性。
本规约适用于阿里巴巴集团内部的所有软件开发项目,并且也可以应用于其他公司和个人的软件开发过程中。
2. 规范目标阿里巴巴开发规约的主要目标是:•统一代码风格,提高代码可读性和易维护性;•提供一致的编码标准,降低代码错误率;•规范命名、注释和文档编写,便于项目交接和维护;•强调代码质量和安全性,避免常见的漏洞和攻击;•提供开发工具和插件支持,帮助开发人员快速定位问题。
3. 编码风格3.1 命名规范•类名使用大驼峰命名法,例如:UserInfoService。
•方法名使用小驼峰命名法,例如:getUserInfo。
•变量名使用小驼峰命名法,例如:userName。
•常量名使用全大写字母,单词间用下划线分隔,例如:MAX_RETRY_TIMES。
3.2 代码缩进和换行•使用4个空格进行缩进。
•每行代码不超过80个字符。
•长表达式可以在括号内换行,保持对齐。
3.3 注释规范•类、方法和变量的注释使用JavaDoc格式,并提供必要的说明。
•方法内部的注释使用单行或多行注释,解释方法的实现细节或注意事项。
•注释应该清晰、简洁,避免冗余和无用的注释。
4. 编码标准4.1 异常处理•不要捕获异常后不处理或者直接打印异常信息,应该根据具体情况进行处理或者抛出异常。
•不要在循环中捕获异常,应该将异常处理放到循环外部。
4.2 日志记录•使用合适的日志级别记录日志信息,避免过度记录和低级别日志混杂。
•使用参数化日志记录方式,避免字符串拼接带来的性能问题和安全隐患。
4.3 数据库操作•使用预编译语句(PreparedStatement)来执行SQL语句,避免SQL注入攻击。
•对于批量插入和更新操作,使用批处理(Batch)方式执行,提高性能。
4.4 安全性•避免使用不安全的加密算法和弱密码,使用安全性较高的算法和密码策略。
Java基础编码规范

Java基础编码规范1. 语法基础标识符、关键字、保留字标识符:由程序员指定的变量、⽅法、类、接⼝等的别名.。
标识符规范:区分⼤⼩写;⾸字母可以是下划线、字母、美元。
但不能是数字;出⾸字符以外的其它字符,可以是下划线、字母、美元和数字;关键字不能作为标识符.关键字:语⾔已经定义好的类似于标识符的保留字符序列,不能挪作他⽤,关键字⼀律⼩写表⽰。
保留字:在语⾔中既不能当作标识符使⽤,也不是关键字,也不能在程序中使⽤的字符序列,Java语⾔的保留字只有const,goto,其中const可以使⽤public static final 来代替。
Java分隔符:分号:表⽰⼀条语句的结束。
⼤括号:表⽰⼀个语句块,即语句的⼀个集合,在定义类和⽅法是,语句块也被⽤作分隔类体或⽅法体。
空格:适当的使⽤空格可以改善代码的可读性。
变量:变量所代表的内容是可以修改的。
常量:变量的内容是不可以的被修改的,常量⼀旦被初始化就不能被修改。
事实上常量:有三种类型:静态常量,成员常量和局部常量。
变量作⽤域:作⽤域规定了变量的适⽤范围,超过了变量作⽤域,变量内容就会被释放,根据变量作⽤域的不同可以分为全局变量和局部变量。
2. 编码规范除了包和常量以外,java编码规范均使⽤驼峰命名法。
包名⼀律全部⽤⼩写,作为命名空间,包名必须具有唯⼀性。
⽅法名、变量名使⽤⼩驼峰命名法,如balanceAccount。
类和接⼝名、⽂件名使⽤⼤驼峰命名法,如CatDao。
常量,全部使⽤⼤写,多个单词构成可以使⽤下划线间隔开。
3. 注释规范⽂件注释:即在每⼀个⽂件的开头进⾏注释,⽂件注释通常包括版权信息、⽂件信息、历史版本信息和⽂件内容等等。
⽂档注释:⽂档注释就是可以⽣成API帮助⽂档的注释,⽂档注释主要针对类(或者接⼝)、实例变量、静态变量、实例⽅法、静态⽅法等进⾏注释,主要提供给不看源码的⼈做参考⽤代码注释:给阅读源码的⼈以参考的代码注释地标注释:在源代码中添加⼀些表⽰,以便于IDE⼯具快速定位代码。
编码生成规则 jeecg

编码生成规则 jeecg编码生成规则在软件开发中起着至关重要的作用。
通过定义规范的编码生成规则可以提高代码的可读性、可维护性和可扩展性。
本文将介绍一种常用的编码生成规则——jeecg规则。
一、背景在软件开发中,编码是程序员用来实现特定功能的关键工具。
然而,不同的开发者在编码风格和规范上存在差异,这给项目合作和代码维护带来了一定的困难。
为了解决这个问题,出现了编码生成规则。
二、jeecg规则概述jeecg规则是一种基于现有领域知识和最佳实践总结出的一套编码规范,适用于大部分的Java开发项目。
jeecg规则遵循以下原则:1. 命名规范- 类名、接口名使用驼峰命名法,首字母大写,如:UserService。
- 方法名使用驼峰命名法,首字母小写,如:getUserById。
- 变量名使用驼峰命名法,首字母小写,如:userName。
- 常量名全部大写,单词间用下划线分隔,如:MAX_SIZE。
2. 代码格式- 使用4个空格缩进,不使用Tab键。
- 每行最大字符数不超过80个字符。
- 代码块使用大括号包裹,不允许忽略不写。
- 在逻辑行结束时,使用空格将运算符与下一行对齐。
3. 注释规范- 类、接口、方法都应有必要的注释来解释其作用和使用方法。
- 方法内部较为复杂逻辑的代码块也应进行注释说明。
- 注释使用中文,清晰明了,避免使用过于简单的注释。
4. 异常处理- 捕获异常后,应根据具体情况选择恰当的处理方式,避免简单的try-catch块。
- 建议自定义异常类,用于标识特定的业务异常。
5. 文件和目录规范- 包名采用小写字母,多个单词间用"."分隔。
- 类文件名与类名一致,使用驼峰命名法,首字母大写。
- 配置文件名全部小写,多个单词间用"_"分隔。
6. 版本控制- 使用版本控制工具管理代码,并遵循合适的分支管理策略。
7. 测试规范- 开发任何功能前都应编写对应的单元测试,并保证测试用例覆盖率。
JAVA编程规范(修订)

JAVA编程规范1.1 Java文件名与文件组织结构1.一个java源文件不应该超过2 000行。
2.在Java源文件中应该包含一个单一的公共类(class)或接口(interface),这个公共类或公共接口,应该是这个源文件的第一个类或接口。
3.一个Java源文件一般由下面的顺序构成:(1)文件注释头(2)包名(package)(3)引入(import)声明(4)类(class)或接口(interface)的声明部分1.2 Java文件注释头Java类文件注释头是用来描述该类功能及其特点,以及相关开发信息的,如该类的关联类(通常情况下不描述Java系统核心类如java.util.Vector, ng.Thread等)、开发公司或单位、版权、作者、代码审定人该类所支持的JDK版本、该类版本、开发日期、最后更改日期、修改人、复审人等信息,下面就是一个Java类文件注释头:/****************************************************************** 该类功能及其特点的描述(例如:该类是用来……)** 该类未被编译测试过。
** @see(与该类相关联的类):(AnatherClass.java)*** 开发公司或单位:××软件有限公司研发中心** 版权:本文件版权归属××公司研发中心*** @author(作者):必胜利** @since(该文件所支持的JDK版本):Jdk1.3 或JDK1.42.在重点同时难以理解的地方另加注释。
方法体内的注释应该与其所描述的代码位于同一个层次上。
在一个块注释之前一般有一空白行用于做区分代码与注释的边界。
1.7 变量的声明初始化与放置1.7.1 变量声明1.在一般情况下我们建议每一行代码,只声明一个变量;2.如果变量名称较短并且又是同一数据类型同一结构类型,并且没有给变量初始化则可以在同一行声明;1.7.2 变量初始化尽量在变量声明的地方初始化,如果变量的初始化与有待于计算或处理后的值有关,则我们可以在取得这个值后对变量做初始化。
谷歌Java编程规范指南
谷歌Java编程风格指南目录1前言2源文件基础3源文件结构4格式5命名约定6编程实践7Javadoc8后记前言这份文档是Google Java编程风格规范的完整定义。
当且仅当一个Java源文件符合此文档中的规则,我们才认为它符合Google的Java编程风格。
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题,同时也讨论一些约定及编码标准。
然而,这份文档主要侧重于我们所普遍遵循的规则,对于那些不是明确强制要求的,我们尽量避免提供意见。
1.1 术语说明在本文档中,除非另有说明:9术语class可表示一个普通类,枚举类,接口或是annotation类型(@interface)10术语comment只用来指代实现的注释(implementation comments),我们不使用‚documentation comments‛一词,而是用Javadoc。
其他的术语说明会偶尔在后面的文档出现。
1.2 指南说明本文档中的示例代码并不作为规范。
也就是说,虽然示例代码是遵循Google编程风格,但并不意味着这是展现这些代码的唯一方式。
示例中的格式选择不应该被强制定为规则。
源文件基础2.1 文件名源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。
2.2 文件编码:UTF-8源文件编码格式为UTF-8。
2.3 特殊字符2.3.1 空白字符除了行结束符序列,ASCII水平空格字符(0x20,即空格)是源文件中唯一允许出现的空白字符,这意味着:11所有其它字符串中的空白字符都要进行转义。
12制表符不用于缩进。
2.3.2 特殊转义序列对于具有特殊转义序列的任何字符(\b, \t, \n, \f, \r, \‚, \‘及\),我们使用它的转义序列,而不是相应的八进制(比如\012)或Unicode(比如\u000a)转义。
2.3.3 非ASCII字符对于剩余的非ASCII字符,是使用实际的Unicode字符(比如∞),还是使用等价的Unicode转义符(比如\u221e),取决于哪个能让代码更易于阅读和理解。
coding使用方式
coding使用方式摘要:一、编程概述二、编程语言分类三、编程工具与平台四、编程技巧与实践五、编程学习资源六、总结与展望正文:随着科技的飞速发展,编程已经成为了现代社会中不可或缺的一项技能。
编程不仅仅是编写代码,还涉及到解决问题的能力、创新思维和实践经验。
在这个篇文章中,我们将介绍编程的基本概念、分类、工具、技巧以及学习资源,帮助大家更好地掌握编程。
一、编程概述编程是用一种计算机可以理解的语言,告诉计算机如何完成特定任务的过程。
编程可以分为前端和后端两大类。
前端编程主要关注用户界面和交互,后端编程则负责数据处理和逻辑运算。
二、编程语言分类1.高级编程语言:如Python、Java、C++等,具有丰富的功能和较高的抽象程度,适用于各种复杂场景。
2.低级编程语言:如C、汇编语言等,直接与硬件交互,执行效率较高,但编写和维护难度较大。
3.脚本语言:如JavaScript、PHP等,用于快速开发简单应用,具有较强的解释性。
4.专用编程语言:如SQL、MATLAB等,针对特定领域和任务进行优化。
三、编程工具与平台1.集成开发环境(IDE):如Visual Studio Code、Eclipse等,提供一站式编程体验,支持多种编程语言。
2.代码编辑器:如Notepad++、Sublime Text等,轻量级,适用于特定编程语言的编写。
3.编程框架:如Django、Flask等,提供成熟的架构和功能,简化开发过程。
4.云计算平台:如阿里云、腾讯云等,提供强大的计算资源和编程接口,便于部署和扩展应用。
四、编程技巧与实践1.代码规范:遵循编程风格和命名规范,提高代码可读性。
2.模块化:将代码划分为独立的模块,降低耦合度,便于维护和复用。
3.代码注释:为代码添加注释,说明功能和实现原理。
4.版本控制:使用版本控制系统,如Git,管理代码变更。
五、编程学习资源1.在线教程:如菜鸟教程、W3School等,提供全面的编程教程和实例。
新版Java代码规范总结.pdf
Java代码规范总结作为一名合格的程序员,代码就是其战斗的武器,因此,武器的好坏,武器的品质,也一定程度上体现了程序员的水平和影响对功能的实现,因此良好的代码的规范,在一定程度上,所表现的作用是很大的,应该引起广大程序员,尤其是初级程序员的注意。
因此,我总结了一下几点:1.命名规范1).所有的标示符只能用英文字母,数字,下划线2).包名全小写3).类名是一个名词,大小写混合,每个单词的首字母大写4).接口的规则与类名相似5).方法名第一个字母小写,中间单词的首字母大写,采用驼峰标识6).变量名的规则与方法名相似7).常量的声明是全部大写,每个单词之间用"_"连接2.注释规范注释有:单行注释"//", 多行注释"/*..*/", 文档注释"/**....*/"1).注释尽可能使用“//”,对于所有的javadoc的注释则使用“ /**....*/ ",而临时对代码快进行注释尽量使用”/*...*/“。
2).所有的源文件都应该在开头有一个注释,其中列出文件名,日期和类的功能概述,有时还有作者3).每个方法必须添加文档注释(类的main()方法除外),这样可以使其他人了解这个方法的功能4).每个属性必须添加注释,让人知道这个属性的含义5).代码中至少包含15%的注释6).注释中英文都可3.缩进排版规范1).代码应避免一行长度超过60个字符2).4个空格常被作为缩进排版的一个单位。
缩进的确切解释并未详细指定(空格vs. 制表符)。
一个制表符等于8个空格(而非4个)。
3). 换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:a. 在一个逗号后面断开b. 在一个操作符前面断开c. 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开d. 新的一行应该与上一行同一级别表达式的开头处对齐e. 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格4).关键词和操作符之间加适当的空格5).相对独立的程序块与块之间加空行6).划分出的新行要进行适应的缩进,使排版整齐,语句可读.7).循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
java代码格式规范
SOAR项目Java开发规范1. 引言 (2)2.文件 (2)3.命名规则 (3)3.1基本的规则 (3)3.2常量命名 (3)3.3变量命名 (3)3.4方法命名 (5)3.5类和接口的命名 (5)3.6包的命名 (6)4.注释规范 (6)4.1 基本规则 (6)4.2 Java中有三种注释方式说明 (6)4.2.1文档注释/** */ (6)4.2.2行注释// (7)4.2.3块注释:/* */ (7)4.3类/接口注释 (7)4.4 变量注释 (8)4.5 方法注释 (9)4.6 修改记录 (10)5.编码规范 (10)5.1基本原则 (10)5.2类编写规范 (14)5.3变量 (14)5.4方法 (15)5.5 语言使用及书写规范 (16)1. 引言软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在一个小组中采用统一的软件开发标准。
一般来说,制定这样的标准有下列好处:方便软件维护。
据统计,80%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。
在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。
任何产品都需要好的包装。
我们可以把代码本身看作是一种产品,那么按照规范编程也是对这个“产品”的包装规范化的代码也是软件质量的保证手段之一,也是软件过程能够流畅的基础。
我们每个人必须牢牢树立这样的观念:你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。
所以,我们必须努力写出“干净”和易读的代码。
本文档适用于软件开发过程中开发人员,主要包括编码人员、测试人员,开发人员,规范必须严格遵守,否则程序被视为不合格程序。
注:本规范中标红的内容为强制性遵循内容,开发人员必须遵守。
蓝色为强烈建议性内容,最好遵守,这样可以避免程序出现一些莫名奇妙的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
红色代码为错误示范,绿色代码为正确示范 一、 名称统一使用英文命名,不使用拼音命名或拼音+英文组合的命名。 public boolean hasWanCheng(){ }
public boolean hasFinish(){ }
二、 变量名采用驼峰命名法,用有意义的单词前缀或后缀来区别两个含义不同的变量,不使用大小来区分,不使用加无意义数字后缀区分。
private int number; private int Number; private int number1; private int number2;
private int carNumber; private int trainNumber;
三、 包名采用全小写单词。包名与变量名相同,不使用无意义数字后缀。 dyx.co.isid.FrameWork.Banking.ACCOUNT dyx.co.isid.framework.banking.a00001
dyx.co.isid.framework.banking.account dyx.co.isid.framework.banking.account
四、 类名首字母大写,与变量名相同,不使用无意义数字后缀。 public class S0001 { } public class sampleclass { }
public class Sample { } public class SampleClass { }
五、 实现接口或抽象父类的实现类,以“Impl”结尾。 public class SampleImpl implements ISample { }
六、 方法名首字母小写,与变量名类似。 public void BadSample(int number){ }
public void setNumber(int number){ }
七、 方法名要使用动词性质的单词,并能真实表达含义。如:创建某一个实例的方法名,以create或意思相近的单词开始,跳转或进入以to、enter开始。
public Sample createSample(){ } public Another toAnother(){ }
八、 返回类型为boolean型的方法名,要能表达判断的含义,可以是象exists这样能表达判断含义的单词,也可以使用is+名词/形容词、can+动词、has+名词/动词的过去分词等组合来表达,方法名所要表达含义为:满足方法名的描述,结果就为true,如:
public boolean isAsleep(){//如果是沉睡的这样一种状态,结果为true。 } public boolean canSpeak(){//如果能够说,结果为true。 } public boolean hasExpired(){//如果已经过期,结果为true。 } public boolean exists(){//如果存在,结果为true。 } public boolean hasValue(){//如果有值,结果为true。 }
九、 boolean变量名与返回类型为boolean型的方法名相似。 private boolean isAsleep; private boolean canSpeak; private boolean hasExpired; private boolean exists; private boolean hasValue;
十、 常量的定义,名称全大写,单词之前用“_”切分。 public static final int SampleValue = 10; public static final int SAMPLE_VALUE = 10; 十一、for循环与嵌套for循环,控制循环次数的临时变量应按照i、j、k„„这样的顺序命名。 for(int j = 0; j < 10; j++){ ... for(int n = 0; n < 10; n++){ ... for(int t = 0; t < 10; t++){ } } }
for(int i = 0; i < 10; i++){ ... for(int j = 0; j < 10; j++){ ... for(int k = 0; k < 10; k++){ } } }
十二、除特殊需要外,尽可能使用接口类型定义变量,而不用实例类型。 ArrayList sampleList = new ArrayList (); List sampleList = new ArrayList (); 十三、不使用当前JDK版本下不推荐使用但JDK中依然保留的方法。 Date sampleDate = new Date(); System.out.println(sampleDate.getYear());
Calendar sampleCalendar = Calendar.getInstance(); System.out.println(sampleCalendar.get(Calendar.YEAR));
十四、不在程序中出现未曾使用过的私有变量、私有方法,一般开发环境也会以黄色提示。 十五、严格使用public、private、protected修饰符,类中不可能被第二个类调用的方法、变量等不要用public来代替private。
十六、用空格控制代码格式的规范: 1、 用“,”间隔的参数列表,for循环中用“;”间隔的执行语句,“,”、“;”与前面代码之间不空格,与后面代码之间空一格。
public void badSampleMethod(int score,int number){ } for (int i = 0;i < 1000;i++){ }
public void fixedSampleMethod(int score, int number){ } for (int i = 0; i < 1000; i++){ }
2、 各种算术运算符、逻辑运算符、赋值运算符等与前后变量之间空一格。 ①a=1; ②b-=a;
①a = 1; ②b -= a;
3、“++”、“--”要紧跟变量名,不空格。 a ++; a++; 十七、boolean型变量或方法返回,在做判断条件时还需要与true或false比较判断吗? ①while(hasStock == true) { } ②if(hasStock == false){ }
①while(hasStock) { } ②if(!hasStock){ }
十八、不要导入无用的包,一般开发环境会给出黄色提示,也不要用“*”把一个包下所有的类全导入进来,用到某个类只导入该类。
十九、静态方法、静态变量属于类,而不属于某个对象,不要用对象来调用静态方法。 public class BadSample { public static void sampleClassMethod(){} public void sampleMethod(){ BadSample object = new BadSample(); object.sampleClassMethod(); } }
public class FixedSample { public static void sampleClassMethod(){} public void sampleMethod(){ FixedSample object = new FixedSample(); FixedSample.sampleClassMethod(); } }
二十、不要在一行内申明多个变量。 private String firstName, lastName; private String firstName; private String lastName;
二一、程序中要使用的定值,应定义常量后使用。 private int[] sampleArray = new int[10]; private static final int ARRAY_SIZE = 10; private int[] sampleArray = new int[ARRAY_SIZE];
二二、严格按照变量实际使用情况确定作用域。如:只在方法内使用的临时变量不要定义为成员变量,除特殊情况外,循环体里不申明临时变量,应将循环体内要用的临时变量放在循环体外申明。
private int value; public void calcValue(SomeObj inValue){ value = inValue.getData(); for(int i = 0; i < value; i++){ StringBuffer sampleBuffer = new StringBuffer(); „„ } }
public void calcValue(SomeObj inValue){