![Java代码检查规范指导书_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-4/24/d4046c0b-c6fa-44b7-a615-a13c56947502/d4046c0b-c6fa-44b7-a615-a13c569475021.gif)
![Java代码检查规范指导书_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-4/24/d4046c0b-c6fa-44b7-a615-a13c56947502/d4046c0b-c6fa-44b7-a615-a13c569475022.gif)
![Java代码检查规范指导书_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-4/24/d4046c0b-c6fa-44b7-a615-a13c56947502/d4046c0b-c6fa-44b7-a615-a13c569475023.gif)
![Java代码检查规范指导书_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-4/24/d4046c0b-c6fa-44b7-a615-a13c56947502/d4046c0b-c6fa-44b7-a615-a13c569475024.gif)
![Java代码检查规范指导书_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-4/24/d4046c0b-c6fa-44b7-a615-a13c56947502/d4046c0b-c6fa-44b7-a615-a13c569475025.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java代码检查规范指导书核:期:准:期:实施日期2010年05月24日A-0版本号内部Copyright?2010福富软件版权所有文件编号:Java代码检查规范一一问题收集修改履历版本号日期作者修一要点A-02010-5-24吴兆彬新作成Page2of17Copyright?2010福富软件版权所有、1妣"java代码检查规范一一问题收集文件编号:目录1 引言52 应用范围53 角色职责54 输入55 输出66 作业流程66.1 CHECKSTYLE安装与使用76.1.1 CheckStyle插件安装 “在线更新”安装方式 “手动下载”安装方式86.
2、1.2 CheckStyle的配置与使用 导入:规则文件 启用:项目检查 查看:结果视图106.2 ECLIPSECODESTYLE的配置 “代码模版”的配置 低码格式化”的配置 “代码清理”的配置116.3 代码修正117问题反馈(FAQ)121) 为什么第一句话需要以标点符号结束?122) 匝该在同一行”的提示信息?123) "个局部常数,最好定义为全局常数”的提示信息?134) 条件逻辑语句应该被移除”的提示信息?135) 变量应该声明为PRIVATE”的提示信息?13Pag
3、e3of17Copyright?2010福富软件版权所有、1妣"java代码检查规范一一问题收集文件编号:6) 工具类不应该存在PRIVATE或者默认构造函数”的提示信息?147) 参数超过7个”的提示信息?148) 类级的常量必须与模式"aA-ZA-Z0-9*(_A-Z0-9+)*$"相匹配”的提示信息?159) 避免在语句中出现嵌套的赋值语句”的提示信息?15Page4of17Copyright?2010福富软件版权所有文件编号:Java代码检查规范问题收集1引言在编码规范推进过程中,陆续收到很多开发人员提交上来的疑问,这里逐一统一做了一个整理和收集,做成能够
4、为开发人员提供指导意见的工作流程,以提供大家互相参考和借鉴,共通把电信信息化部的编码风格做到一致,为编码质量的提高奠定基础。收集上来的问题,主要包括:在插件安装上的困难;在CheckStyle提示信息上的疑问点;使用EclipseCodeStyle中的自动修复功能的问题;期望实现的改进建议;2应用范围本指导书适用于编码阶段,可以进行代码的自查和修订,也可以适用于代码走查阶段。在纠正代码规范性的基础上,更利于开发人员从业务层面进行走查的效果。3角色职责角色职责开发人员对代码进行自查,以及代码的修正;走查人员/QA对代码进行规范性检查;4输入1)Java代码检查规范;2)«Eclipse
5、CodeStyle设置;3)代码检查配置文件;(2010年大部检查标准_CheckStyle.xml)4)代码修复工具;(2010年大部检查标准_template.xml、2010年大部检查标准formatter.xml、2010年大部检查标准_CleanUp.xml)5)开发人员的代码;Page5of17Copyright?2010福富软件版权所有文件编号:"java代码检查规范问题收集5输出1)检查结果报表(图、表);2)代码走查情况;6作业流程结束状海1.与人:规则文件Clean耶(代用人丽揖疗M导入:代同清理1)检查人员在开发环境(Eclipse)中进行插件的安装,可以选择手
6、动下载安装方式,也可以选择在线更新方式;2)安装完CheckStyle之后,需要进行CheckStyle的配置;这里请选择导入规则配置文件2010年大部检查标准_CheckStyle.xml»;3)在项目工程上,设置激活CheckStyle检查;4)激活并编译项目工程后,打开CheckStyle检查结果视图,来查看检查结果;5)检查人员将检查报告发送给开发人员,由开发人员进行修复;6)开发人员导入修复规则:“代码模板配置文件”2010年大部检查标准_template.xml、“代码格式化配置文件”2010年大部检查标准_formatter.xml»和“代码清理配置文件”20
7、10年大部检查标准_CleanUp.xml。7)开发人员执行CleanUp操作,完成自动修复代码操作;8)对于无法自动化修复的代码,开发人员进行手动修复;Page6of17Copyright?2010福富软件版权所有文件编号:java代码检查规范一一问题收集6.1 CheckStyle安装与使用6.1.1 CheckStyle插件安装根据大家的使用习惯,可以选择“在线更新”或者“手动下载”方式,进行CheckStyle的插件安装。 “在线更新”安装方式1.Eclipse3.4以上版本的安装方式步骤Eclipse3.4Eclipse3.51、在Eclipse中,点击“Help”菜单
8、;选择“SoftwareUpdates.选择“InstallNewSoftware./,2、点击“Add.”按钮,在弹出框中输入输入相关信息;输入:http:/eclipse-“Name”设置为:eclipse-cs;“Location”设置为:http:/eclipse-3、选择合适的版本进行安装选择“EclipseCheckstylePlug-in01002232103'4、安装完成后,重新启动Eclipse;2.Eclipse3.3以下版本的安装方式步骤说明1、在Eclipse中,点击“Help”菜单;选择“SoftwareUpdates->FindandIn
9、stall”选择“Searchfornewfeatures2、新建一个“NewRemoteSite.”输入名称“eclipse-cs”输入URL地址"http:/eclipse-3、选择合适的版本进行安装4、安装完成后,重新启动Eclipse;Page7of17Copyright?2010福富软件版权所有文件编号:4mjava代码检查规范一一问题收集“手动下载”安装方式1. 方式一:(如果是低版本的Eclipse,请将dropins修改为links目录)步骤说明1、访问URL地址进彳亦载;下载地址:2、解压安装包解压目录:$Eclipse安装目录/dropins/ecl
10、ipse-cs/eclipse3、整理安装文件将“$Eclipse安装目录/dropins/eclipse-cs/eclipse”目录下的“site.xml”文件删除将“$Eclipse安装目录/dropins/eclipse-cs/eclipse/feature§目录下的jar文件解压缩到所在目录的子文件夹中:“net.sf.eclipsecs.migration_01002232103.jar”文件,解压缩到“net.sf.eclipsecs.migration_01002232103”目录“net.sf.eclipsecs_010022
11、32103.jar”文件,解压缩到“net.sf.eclipsecs_01002232103”目录4、重启Eclipse2. 方式二:(如果是低版本的Eclipse,请将dropins替换为links目录;)步骤说明1、访问URL地址进行卜载;下载地址:Copyright?2010福富软件版权所有Page8of17文件编号:Java代码检查规范一一问题收集p?group_id=80344&package_id=1075872、解压安装包在任意路径下,新建一个“eclipse-cs目录,并在其下新增“eclipse”目录,将安装包解压缩到的该目录3、整理安装文件将该目录的“
12、site.xml”文件删除将该目录的“features”子目录中的jar文件,解压缩到所在目录的子文件夹中:“net.sf.eclipsecs.migration_01002232103.jar”文件,解压缩到“net.sf.eclipsecs.migration_01002232103”目录“net.sf.eclipsecs_01002232103.jar”文件,解压缩到“net.sf.eclipsecs_01002232103”目录4、添加链接文件在“$Eclipse安装目录/dropins”目录下,新建一个文本文件,命名为“ecli
13、pse-cs.link”,在义件中添加以下内容:path-新建的eclipse-cs;目录全路径(如:F:/eclipse/plugins/eclipse-c§5、重启Eclipse6.1.2CheckStyle的配置与使用导入:规则文件步骤说明1、在Eclipse中,点击“Window”菜单,选择“Preferences2、新建配置选择“CheckStyle”配置项,点击“New”按钮;在“Name”中,输入“2010年大部检查标准”;Copyright?2010福富软件版权所有Page9of17文件编号:14mjava代码检查规范一一问题收集点击“Import”按钮
14、,选择“2010年大部检查标准(Javaj).xml”文件;点击“OK”完成;3、设置默认选中导入的“2010年大部检查标准”规则项,点击“SetasDefault按钮,将该配置设置为默认规则;启用:项目检查步骤说明1、选中打开的项目名称,点击右键;2、启用/禁用CheckStyle;启用:在右键采单中,点击Checkstyle菜单的“ActivateCheckstyle”项,则该项目已经启动CheckStyle规则;禁用:在右键采单中,点击Checkstyle菜单的“DeactivateCheckstyle”项,贝该项目已经禁用CheckStyle前则;查看:结果
15、视图步骤说明1、点击“Window”菜单,选择“ShowView->Others.”;在“CheckStyle”目录下,后二个可选视图CheckstyleViolationsCheckstyleViolationsChartDuplicatedCode2、打开三个CheckStyle视图,可以看到相应的检查结果;6.2 EclipseCodeStyle的配置”代码模版”的配置步骤说明Copyright?2010福富软件版权所有Page10of171、在Eclipse中,点击“Window”菜单,选择“Preferences2、导入模版配置文件选择“JavaCodeStyle
16、CodeTemplates项;点击“Import.”按钮,选择“2010年大部检查标准_template.xml”文件;3、设置默认点击“Apply”按钮,则设置该模版配置为默认配置;0m=java代码检查规范问题收集文件编号:”代码格式化”的配置步骤说明1、在Eclipse中,点击“Window”菜单,选择“Preferences2、导入格式化配置文件选择“JavaCodeStyleFormatter项;点击“Import.”按钮,选择“2010年大部检查标准_formatter.xml”文件;3、设置默认点击“Apply”按钮,则设置该格式化配置为默认配置;“代
17、码清理”的配置步骤说明1、在Eclipse中,点击“Window”菜单,选择“Preferences2、导入格式化配置文件选择“JavaCodeStyleClean邛项;点击“Import.”按钮,选择“2010年大部检查标准_CleanUp.xml”文件;3、设置默认点击“Apply”按钮,则设置该清理配置为默认配置;6.3 代码修正1. “代码模版配置”,适用于自动生成“注释”和“代码”时,套用的模版;2. “代码格式化配置”,适用于配合“Ctrl+Shift+f”键来使用,完成代码的自动格式化;(建议在代码提交之前,先执行代码格式化)Page11of17Copyright?2010福富软
18、件版权所有文件编号:java代码检查规范一一问题收集3. “代码清理配置”配合“Source菜单的CleanUp”功能来使用,完成代码的自动清理;(建议在代码提交之前,先执行代码清理)4. 手动修复,针对个别无法自动化修正的操作,需要开发人员手动进行修正;7问题反馈1(Faq)1)为什么第一句话需要以标点符号结束?错误写法正确写法/*密码*/privateTextboxpassword;/*密码。*/privateTextboxpassword;注释的第一句,确保以正确的标点符号结束,可以是中文/英文输入法的句号、问号或叹号;因为自动生成的JavaDocAPI文档中,会自动将第一句话放在类注释
19、文档的方法大纲表格和索引信息中;如果没有合适的标点符号,会让生成的类注释文档的格式变形;对于使用有效的7inheritDoc)”的注释,可以不使用标点符号,因为该标签表示引用了接口的文档注释。2) “”应该在同一行”的提示信息?错误写法正确写法if(condition)if(condition)System.out.print(".");System.out.print(".");elseelseSystem.out.print(".");System.out.print(".");提示信息中的“同一行”指的是“大
20、括号”与后面的“else语句”应该放在同一行。因为在Sun的Java规范和Eclipse的内置Java规范都Page12of17Copyright?2010福富软件版权所有Java代码检查规范问题收集文件编号:是采用同行的书写方式。3) “一个局部常数,最好定义为全局常数”的提示信息?错误写法正确写法if(i=3)先声明:publicstaticfinalintITERATOR_THREE=3;然后,在方法中使用:if(i=ITERATOR_THREE)这么做避免出现MagicNumber,修正以后,数值获得正确的含义,更能表达数值的用途,也更利于提高代码的可读性。4) “条件逻辑语句应该被移
21、除”的提示信息?错误写法正确写法if(userPermission=null)returnfalse;elsereturntrue;return(userPermission!=null);减少不必要的boolean表达式的逻辑判断,使代码更加简洁,也减少代码行数和阅读量5) “变量应该声明为private”的提示信息?错误写法正确写法publicstaticPageBasepageBase;privatestaticPageBasepageBase;/*returnpageBase属性*/publicstaticPageBasegetPageBase()returnpageBase;Page
22、13of17Copyright?2010福富软件版权所有/*parampageBase设置pageBase属性*/publicstaticvoidsetPageBase(PageBasepageBase)SubTest.pageBase=pageBase;)、1妣"java代码检查规范一一问题收集文件编号:这个属于类设计规则问题,默认情况下,只允许staticfinal属性是public的,其他的属性必须是private的;当然,也可以根据需要设置为包级可见,或者子类可见,或者允许某些成员属性作为特例。这么做的好处在于,能够保证类的封装性,对外访问的安全性,也更易于代码的维护。6)
23、“工具类不应该存在public或者默认构造函数”的提示信息?错误写法正确写法publicclassStringUtils/没有声明构造函数,或者声明了public的构造函数.)publicclassStringUtilsprivateStringUtils().)这属于类的设计规则问题。对于工具类来说,所有的成员都是静态的,不必要实例化;但是,对于调用者来说,有可能去实例化该工具类,这样就造成了不必要的初始化对象实例,也就导致内存浪费。7) “参数超过7个”的提示信息?错误写法正确写法publicstaticStringwindowsalertRedirectBack(Stringmsg,Ht
24、tpServletRequestrequest,Stringdvtype,Stringdvid,Stringaurl,Stringroomid,Stringroomname,Stringrmwidth,Stringrmheight)publicstaticStringwindowsalertRedirectBack(Stringmsg,HttpServletRequestrequest,Popo)Page14of17Copyright?2010福富软件版权所有文件编号:Java代码检查规范问题收集)这属于大小规则问题。将这么多参数,封装成一个或者多个对象,然后将这个或几个对象作为方法输入。这么做既简洁,而且调用者也不容易出错。8) “类级的常量必须与模式"AA-ZA-Z0-9*(_A-Z0-9+)*$相匹配”的提示信息?错误写法正确写法privatestaticfinalintprivatestaticfinalintdayArray=newint31,28,31,DAY_ARRAY=newint31,28,31,30,31,30,30,31,30,31,31,30,31,30,31,31,30,31,30,31);31);这属于命名规范问题。对于常量名必须全部使用大写字母,不同单词问使用下划线分隔。9) “避免在语句中出现嵌套的赋值语句”的提示信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Cefotaxime-d3-Cefotaxim-d-sub-3-sub-生命科学试剂-MCE-1932
- 二零二五年度生物基因编辑技术研发合作保密协议
- 2025年度药店全职员工聘用合同
- 2025年度银企合作风险控制与业务拓展合同标准
- 2025年度二零二五年度门面房使用权拍卖合同
- 2025年度鱼塘承包合同书:鱼塘承包与渔业市场拓展合作合同
- 2025年度超市租赁合同排他性节假日营销活动策划协议
- 二零二五年度终止合伙合同-海洋资源开发合作终止协议
- 个人机械租赁合同范本
- 上海市电子产品购销合同
- 2025年教科室工作计划样本(四篇)
- 2024年版古董古玩买卖合同:古玩交易税费及支付规定
- 幼儿园费用报销管理制度
- 【7历期末】安徽省宣城市2023-2024学年七年级上学期期末考试历史试题
- 春节后安全生产开工第一课
- 2025光伏组件清洗合同
- 电力电缆工程施工组织设计
- 2024年网格员考试题库完美版
- 《建筑与市政工程防水规范》解读
- 审计合同终止协议书(2篇)
- 2024年重庆市中考数学试题B卷含答案
评论
0/150
提交评论