版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java编码规范一、应用场景二、Java源文件组织规范三、Java类和接口声明规范四、注释规范五、命名规范六、排版规范本学习情境主要内容编码规范是程序编码所要遵循的规则,保证代码的正确性、稳定性、可读性。规范编码有以下作用:规范的代码可以促进团队合作规范的代码可以减少bug处理规范的代码可以降低维护成本规范的代码有助于代码审查养成代码规范的习惯,有助于程序员自身的成长3一、应用场景Java编码规范大体上包括:Java源文件组织规范Java类和接口声明规范注释规范命名规范排版规范
等等。好的编码规范是一个程序员的基本修炼,好的编码规范更能体现一个程序员的逻辑思维。二、Java源文件组织规范Java源文件由以下4部分组成并必须按顺序进行组织。文件注释包引入语句类和接口声明Java源文件就是存放Java源代码的文件。一个Java源文件都包含一个单一的公共类或接口。样例三、Java类和接口声明规范通常情况下建议类和接口的成员按如下结构和顺序进行组织序号类/接口声明的各部分说明(1)类/接口文档注释(/**……*/)该注释中所需包含的信息。(2)类或接口的声明类头(3)类/接口实现的注释(/*……*/)//如果有必要的话该注释应包含任何有关整个类或接口的信息,而这些信息又不适合作为类/接口文档注释。(4)常量公共的、静态的、不可改变的,必须初始值(一旦赋值,不可改变)。(5)类的静态成员变量首先是类的公共变量,随后是保护变量,再后是包一级别的变量(没有访问修饰符),最后是私有变量。(6)成员变量首先是公共级别的,随后是保护级别的,再后是包一级别的(没有访问修饰符),最后是私有级别的。(7)构造函数应该用递增的方式写(比如:参数多的写在后面)(8)成员方法这些方法应该按功能,而非作用域或访问权限,分组。例如,一个私有的类方法可以置于两个公有的实例方法之间。其目的是为了更便于阅读和理解代码。样例四、注释规范1.注释的类型
代码注释单行注释“//”和多行注释“/*……*/”
文档注释包括源文件注释、类注释、接口注释、方法注释等,形式“/**……*/”2.代码注释规范在对变量的定义和分支语句(条件分支、循环语句等)以及在有处理逻辑的代码中必须编写代码注释。变量说明//变量说明代码块注释/**<注释内容>*/3.文档注释规范(1)文档注释作用在源文件、类和接口、方法等上面。(2)文档注释格式/****……*/在Java源代码头部设有注释,其中包含一些版权声明等信息模板源文件注释规范/***@Title:${file_name}*@Package${package_name}*@Description:${todo}(用一句话描述该文件做什么)*Copyright(c)2020-2023*******
*@author*@date${date}${time}*@versionV1.0*/样例类和接口注释规范类注释用于说明整个类的功能、特性等,它应该放在所有的“import”语句之后,在class定义之前。这个规则也适用于接口(interface)注释。模板:/***@ClassName:${type_name}*@Description:${todo}(这里用一句话描述这个类的作用)*@author*@date${date}${time}**${tags}样例描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者和更新版本号和日期。方法注释规范模板:方法注释用来说明方法的定义,比如,方法的参数、返回值及说明方法的作用等。方法注释应该放在它所描述的方法定义前面。/***@Title:${enclosing_method}*@Description:${todo}(这里用一句话描述这个方法的作用)*@param${tags}参数说明*@return${return_type}返回类型*@throws*/样例五、命名规范类和接口名命名规范方法名命名规范常量名命名规范变量名命名规范Java命名规范包括:所有命名规则必须遵循“标识符”命名规则:名称只能由字母、数字、下划线、$符号组成.不能以数字开头.名称不能使用Java中的关键字.坚决不允许出现中文及拼音命名.除了遵循“标识符”命名规则外还有自己的命名规范
包名采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名公司名,三级包名项目名,四级包名模块名或层级名,根据实际情况也是可以用五级包名,六级包名。形式为:com.公司名.项目名.模块名.*.*
样例:com.sun.swt..包的路径符合所开发的系统模块的定义,以便通过包名可得知其属于哪个模块,从而方便到对应包里找相应的实现类.1.包名命名规范使用意义完整的英文描述,见名知意;使用UpperCamelCase规则;使用名词;添加有含义的后缀。2.类名命名规范如果模块、接口、类、方法使用了设计模式,在命名时需体现出具体模式,可加上不同的后缀来表达额外的意思,如Event、Factory、Adapter、Dao、Service等。将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。后缀名意义举例Service表明这个类是个服务类,里面包含了给其他类提供业务服务的方法PaymentOrderServiceImpl这个类是一个实现类,而不是接口PaymentOrderServiceImplInter这个类是一个接口LifeCycleInterDao这个类封装了数据访问方法PaymentOrderDaoAction直接处理页面请求,管理页面逻辑了类UpdateOrderListActionListener响应某种事件的类PaymentSuccessListenerEvent这个类代表了某种事件PaymentSuccessEventServlet一个ServletPaymentCallbackServletFactory生成某种对象工厂的类PaymentOrderFactoryAdapter用来连接某种以前不被支持的对象的类DatabaseLogAdapterJob某种按时间运行的任务PaymentOrderCancelJobWrapper这是一个包装类,为了给某个类提供没有的能力SelectableOrderListWrapperBean这是一个POJOMenuStateBean类名命名后缀名含义使用意义完整的英文描述;使用lowerCamelCase规则;使用“动词+宾语”结构。3.方法名命名规范动词往往表达特定的含义,create、delete、add、remove、init等。方法名命名含义前缀名意义举例create创建createOrder()delete删除deleteOrder()add创建,暗示新创建的对象属于某个集合addPaidOrder()remove删除removeOrder()init初始化,暗示会做些诸如获取资源等特殊动作initializeObjectPooldestroy销毁,暗示会做些诸如释放资源的特殊动作destroyObjectPoolopen打开openConnection()close关闭closeConnection()<read读取readUserName()write写入writeUserName()get获得getName()set设置setName()prepare准备prepareOrderList()copy复制copyCustomerList()modity修改modifyActualTotalAmount()calculate数值计算calculateCommission()do执行某个过程或流程doOrderCancelJob()dispatch判断程序流程转向dispatchUserRequest()start开始startOrderProcessing()stop结束stopOrderProcessing()send发送某个消息或事件sendOrderPaidMessage()receive接受消息或时间receiveOrderPaidMessgae()respond响应用户动作responseOrderListItemClicked()find查找对象findNewSupplier()update更新对象updateCommission()必须为大写单词、下划线分隔的命名方式。在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度。常量一定是staticfinal的字段。例如:staticfinalintNUMBER=5;staticfinalintTERMINATED_THREAD_COUNT=10;4.常量命名规范变量(包括类变量和实例成员变量)名必须采用小写单词驼峰命名方式(lowerCamelCase)。变量命名通常使用名词和名词短语。例如:computedValue、index。5.变量命名规范六、排版规范1.程序块要采用缩进风格编写,缩进的空格数为4个,1个TAB键。2.在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。3.较长的语句、表达式或参数(>120字符)要分成多行书写,在低优先级操作符处划分新行,操作符放在新行之首。4.if,for,do,while,case,switch,default等语句自占一行,且if,for,do,while等语句的执行语句无论多少都要加括号{}。5.分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。6.不允许把多个短语句写在一行中,即一行只写一条语句。7.相对独立的程序块之间、变量说明之后必须加空行。8.对齐只使用TAB键,不使用空格键。9.在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格。小结Java源文件组织规范Java类和接口声明规范注释规范命名规范排版规范说明:进一步详细阅读1.《阿里巴巴Java开发手册(华山版).pdf》2.《代码整洁之道》.(美)马丁Java编码规范的使用实例一、任务描述二、任务分析设计三、任务实施四、运行结果
本学习情境主要内容31一、任务描述应用Java编码规范编写程序。某公司分为多个部门,每个部门有一个经理和多个员工,员工的基本信息包括所在部门、职务、职称以及工资记录等。每个员工根据职称发基本工资。员工的工资按基本工资、日加班工资、日缺勤工资等组成。编写计算公司员工月工资的应用程序。任务需求:1.规范化命名类名、方法名、变量名。2.采用Java源文件结构组织重新排列类结构。3.设置注释模板。4.添加注释。包括文档注释和代码注释。5.格式化排版。二、任务分析设计问题域中涉及多个类,员工类Employee,职员类Staffer,经理类Manager,Staffer类和Manager类继承Employee类。Staffer类继承Employee类,并覆盖计算工资的方法。Manager类继承Employee类,并覆盖计算工资的方法。EmployeeTest类为主类,创建Staffer类和Manager类的对象,调用其计算工资的方法并实现结果输出。其类图关系如图1-1所示。三、任务实施1.声明类2.重新排列类成员3.设置注释模板4.添加文档注释5.重新排版3.1声明类1.类的命名类名命名规范
意义完整的英文描述;UpperCamelCase规则;名词;添加有含义的后缀。员工类Employee职员类Staffer经理类Manager测试类EmployeeTest2.方法的命名方法名命名规范意义完整的英文描述;lowerCamelCase规则;动词+宾语结构。3.成员变量的命名成员变量命名规范意义完整的英文描述;lowerCamelCase规则;名词+名词短语结构。3.2重新排列类成员publicclass****{常量声明;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路面压槽施工方案(3篇)
- 酒店营销薪酬激励方案(3篇)
- 锁口井施工方案(3篇)
- 露营租赁活动方案策划(3篇)
- 26年基础护理服务空巢老人保障工程课件
- 氧气泄漏应急预案
- AIGC 视觉营销设计课件
- 职业规划培训经历
- 货装值班员安全意识强化测试考核试卷含答案
- 新教材湘教版九年级数学上册期末专题复习课件全套
- 中枢组胺能与去甲肾上腺素能神经系统对前庭下核神经元活动调控的深度剖析
- 小升初语文复习讲义:阅读理解答题技巧答题公式
- 糖尿病高渗性昏迷课件
- 铁杵磨成针绘本故事课前三分钟演讲比赛背景课件
- 2025年高考物理试卷(黑吉辽蒙卷)(空白卷)
- 2025至2030年中国硫酸钙晶须行业市场竞争现状及投资前景研判报告
- JG/T 24-2018合成树脂乳液砂壁状建筑涂料
- DB36-T 1865-2023 湿地碳汇监测技术规程
- 红色简约风狼王梦读书分享会
- 建筑施工现场安全自检自查报告范文
- 【小升初】2023-2024学年人教PEP版英语六年级下学期重点专项练习(阅读选择)附答案
评论
0/150
提交评论