java代码规范详细版
- 格式:docx
- 大小:345.67 KB
- 文档页数:15
Java语言编码规范Prepared by拟制Date日期yyyy-mm-ddReviewed by 评审人Date日期yyyy-mm-ddApproved by批准Date日期yyyy-mm-ddRevision Record 修订记录Date 日期RevisionVersion修订版本Sec No.修改章节Change Description修改描述Author作者yyyy-mm-ddVx.xxTable of Contents 目录1. 范围 (4)2. 规范性引用文件 (4)3. 术语和定义 (4)4. 排版规范 (5)4.1. 规则 (5)4.2. 建议 (7)5. 注释规范 (8)5.1. 规则 (8)5.2. 建议 (13)6. 命名规范 (16)6.1. 规则 (16)6.2. 建议 (17)7. 编码规范 (19)7.1. 规则 (19)7.2. 建议 (23)8. JTEST规范 (25)8.1. 规则 (25)8.2. 建议 (26)1.范围本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。
本规范适用于使用Java语言编程的产品和项目。
2.规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本规范。
序号编号名称《Java语言编程规范》1 公司- DKBA1040-2001.123.术语和定义规则:编程时强制必须遵守的原则。
建议:编程时必须加以考虑的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释。
示例:对此规范或建议从正、反两个方面给出例子。
4.排版规范4.1.规则4.1.1.*程序块要采用缩进风格编写,缩进的空格数为4个。
java编码规范文档# Java编码规范文档。
一、前言。
小伙伴们!当我们一起在Java的世界里畅游时,要是大家都按照一套约定俗成的编码规范来写代码,那我们的代码就像训练有素的军队一样,整齐又高效。
这份规范就是我们在Java编程旅程中的小指南,让我们的代码既容易理解,又方便维护。
二、命名规范。
# (一)包(package)命名。
1. 包名应该全部小写,用点(.)分隔单词。
就像你的小包裹要摆放得井井有条一样,包名也得规规矩矩。
例如:`com.example.myproject`,这看起来多清爽。
如果写成`Com.Example.MyProject`,那就像穿着奇装异服的士兵混在整齐的队伍里,很不协调。
# (二)类(class)命名。
1. 类名采用大驼峰命名法(UpperCamelCase),每个单词的首字母大写,不要包含下划线或者其他奇怪的符号。
这就好比给每个班级取一个正式又响亮的名字。
比如:`MyFirstClass`,而不是`my_first_class`或者`my first class`。
那些奇怪的写法就像给班级取个让人摸不着头脑的名字,可不好。
# (三)方法(method)命名。
1. 方法名采用小驼峰命名法(lowerCamelCase),第一个单词小写,后面每个单词首字母大写。
这就像给方法这个小助手取个清晰明了的名字,方便我们知道它是干什么的。
例如:`calculateSum`,而不是`Calculate_Sum`或者`CALCULATESUM`。
要是写成后面那种,就像一个小助手穿着奇装异服,你都不知道它是来帮忙做什么的。
# (四)变量(variable)命名。
1. 变量名同样采用小驼峰命名法。
变量就像一个个小盒子,我们得给它们取个能让人一眼就大概知道里面装什么东西的名字。
像`studentName`,你一看就知道这个变量可能是用来存学生名字的。
要是写成`student_name`或者`STUDENTNAME`,就有点让人迷糊啦。
java 编程规范Java编程规范是为了促进Java代码的可读性、可维护性和可扩展性而制定的标准。
以下是一些常见的Java编程规范:一、命名规范1. 类名、接口名、枚举名首字母大写,采用驼峰命名法。
2. 变量名、方法名首字母小写,采用驼峰命名法。
3. 常量名全部大写,使用下划线分割单词。
4. 包名全部小写,使用点号分割单词。
二、代码格式1. 使用4个空格缩进。
2. 每行代码长度不超过80个字符。
3. 在二元运算符(如赋值、算术运算、逻辑运算)两侧添加空格。
4. 在逗号、冒号、分号之后添加空格。
5. 在左花括号之后和右花括号之前添加空格。
6. 在注释之前添加空格。
三、代码结构1. 类的成员按照作用域排列,先是静态成员,然后是实例成员。
2. 类的方法按照功能排列,先是构造方法,然后是其他方法。
3. 每个类只负责一个功能,遵循单一职责原则。
4. 使用适当的访问修饰符控制成员变量和方法的访问级别。
四、异常处理1. 不要捕获异常而不做任何处理,应该记录日志或者抛出更高级别的异常。
2. 不要将整个方法体放在try-catch块中,应该只捕获需要处理的异常。
3. 不要使用异常控制程序的流程,应该使用条件语句或者循环结构。
五、注释规范1. 使用Javadoc注释对类、方法、参数、返回值进行说明。
2. 在每个类的头部使用Javadoc注释描述该类的功能。
3. 使用内联注释对代码进行解释、补充和说明。
4. 注释应该清楚、简明、不冗余,遵循自然语言的习惯。
六、其他规范1. 避免使用魔法数值,应该使用常量或者枚举来表示。
2. 使用块注释对重要的代码块进行标注,方便阅读和查找。
3. 使用业界公认的缩写和术语,避免拼写错误和歧义。
4. 使用合适的数据结构和算法来解决问题,避免低效的代码。
以上仅是Java编程规范的一部分,具体的规范还需要根据具体的项目和团队来制定。
遵循编程规范可以提高代码质量和可维护性,提升团队的协作效率。
Java代码规范安博教育集团2010年4月第1章 目的此文档目的为了定义编码时的风格和规范。
第2章 范围目前,本文档定义了在以Java为主要开发语言的系统的编程指南,包括了开发web应 用时jsp的规范。
第3章 定义、首字母缩写词和缩略语第4章 参考资料第5章 代码规范5.1 代码组织与风格1.关键词和操作符之间加适当的空格。
2.相对独立的程序块与块之间加空行3.较长的语句、表达式等要分成多行书写。
4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。
5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
7.若函数或过程中的参数较长,则要进行适当的划分。
8.不允许把多个短语句写在一行中,即一行只写一条语句。
9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
5.2 注解定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)。
Java 的语法与 C++ 及为相似,那么,你知道 Java 的注释有几种吗?是两种?// 注释一行/* ...... */ 注释若干行不完全对,除了以上两种之外,还有第三种,文档注释:/** ...... */ 注释若干行,并写入 javadoc 文档注释要简单明了。
String userName = null; //用户名边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
在必要的地方注释,注释量要适中。
注释的内容要清楚、明了,含义准确,防止注释二义性。
保持注释与其描述的代码相邻,即注释的就近原则。
对代码的注释应放在其上方相邻位置,不可放在下面。
对数据结构的注释应放在 其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
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%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。
在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。
任何产品都需要好的包装。
我们可以把代码本身看作是一种产品,那么按照规范编程也是对这个“产品”的包装规范化的代码也是软件质量的保证手段之一,也是软件过程能够流畅的基础。
我们每个人必须牢牢树立这样的观念:你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。
所以,我们必须努力写出“干净”和易读的代码。
本文档适用于软件开发过程中开发人员,主要包括编码人员、测试人员,开发人员,规范必须严格遵守,否则程序被视为不合格程序。
注:本规范中标红的内容为强制性遵循内容,开发人员必须遵守。
蓝色为强烈建议性内容,最好遵守,这样可以避免程序出现一些莫名奇妙的问题。
java代码规范Java代码规范是一套约定俗成的编程规范,旨在提高代码的可读性、可维护性和可重用性。
以下是一些常见的Java代码规范:命名规范:1. 类名使用大驼峰命名法,例如MyClass。
2. 方法名和变量名使用小驼峰命名法,例如myMethod。
3. 常量名使用全大写字母和下划线,例如MAX_VALUE。
4. 包名使用全小写字母,例如com.example.mypackage。
代码格式规范:1. 使用四个空格缩进,避免使用制表符。
2. 每行代码不超过80个字符,超出则换行。
3. 使用空格将运算符、逗号和分号与操作数分开,例如"int a =b + c;"。
4. 在左括号前后加一个空格,例如"if (condition) {"。
5. 在方法的左花括号前加空格,例如"public void myMethod() {"。
6. 使用大括号括起的代码块独占一行。
7. 在逻辑上相关的代码块之间使用空行分隔。
注释规范:1. 在类、方法和成员变量定义之前使用Javadoc注释说明其作用、参数和返回值。
2. 在方法内部使用注释解释代码的逻辑。
3. 避免使用不必要的注释,代码应尽可能自解释。
代码质量规范:1. 遵循SOLID原则,尽量将代码设计为松耦合、高内聚的模块。
2. 避免使用魔术数字,使用常量代替。
3. 使用异常处理机制来处理可预料的异常情况,不要捕获所有异常。
4. 避免使用全局变量,尽量将变量的作用范围限制在最小范围内。
5. 避免代码冗余和重复,尽量使用工具类和设计模式来重用代码。
测试规范:1. 使用单元测试框架(例如JUnit)编写测试用例,并确保每个方法都有相应的测试用例。
2. 使用断言来验证预期结果和实际结果是否一致。
3. 测试方法的命名应描述被测试方法的功能和预期结果。
版本管理规范:1. 使用版本管理工具(例如Git)来管理代码的版本和变更历史。
Java编码规范及实践目录Java编码规范及实践 (1)1.2术语 (2)1.3约束 (3)||!(condition5 && condition6)) { (14)4.1一般命名规范 (14)IQuery, IDataAccess,IReportBuilder (15)MAX_TIMES, DEFAULT_NAME (15)4.2特殊命名规范 (17)AbstractReportBuilder,AbstractBeanFactory (18)AccessException, RuntimeException (19)5.2一般原则 (20)1.代码应该和注释保持同步,如果代码和注释不同步,则阅读代码的人会 (20)2.注释尽量简洁,尺度没有准确的定义,大部分人能明白即可,可以将自 (20)Result getResult() throws Exception{ (21)Object getAction(); (22)JavaDoc 工具不要改变格式. (22)Get a default date/time formatter that uses the SHORT (23)Thread.sleep(1000); (24)Derived,如果一个方法可以接受基类对象b 的话:method1(Base b), (25)7.1工厂模式 (26)7.1.1简单工厂 (26)7.1.2工厂方法 (26)7.2单例模式 (27)Client: (27)7.3适配器模式 (28)7.4组合模式 (29)Client: (29)7.5外观模式 (30)Client: (30)7.6代理模式 (31)7.7命令模式 (32)Client: (33)7.8观察者模式 (33)7.9策略模式 (35)Client: (35)IKeyPairGenerable desGenerator = (35)IKeyPairGenerable rsaGenerator = (36)IKeyPairGenerable ideaGenerator = (36)KeyPairManager manager = new KeyPairManager(); (36)7.10模版方法模式 (36)7.11参观者模式 (38)总价格 (40)Client: (40)第1章概述1.1前言代码之于程序员,就像零件之于机械工,庄稼之于农民,它是软件的基石,一行行代码都是程序员的心血经过日日夜夜凝结成的。
java代码规则标准Java代码规则标准可以参考以下内容:- 类命名:- 抽象类:适用的设计模式为模板模式。
抽象是自下往上的设计。
由具体实现推断出抽象方法。
建议以`Abstract`开头。
- 枚举类:枚举是由JVM来保证的单例。
可以用来做单例类。
枚举类常用来做值判断,不建议每次进行循环判断得到实例。
建议由内部维护一个`map`类型,当做`cache`。
此方法建议放在`static`静态代码块中实现。
- 工具类:工具类常为无状态对象,无状态对象都是线程安全对象,建议使用`final`修饰。
工具类中避免出现业务属性,如果出现业务属性,抽象出领域层。
- 异常类:建议保持异常链。
- 接口实现类:众所周知。
- 设计模式相关类:- 处理特定功能的:其主要的目的是代码可重复使用。
- 测试类:- 领域模型载体:- 方法命名:- 布尔判断方法:- 检查的方法:- 按需求才执行的方法:- 异步相关方法:- 回调方法:- 操作对象生命周期的方法:- 与集合操作相关的方法:- 数据增删改查相关的方法:- 成对出现的动词:- 获取必须的参数:- 获取数据并对数据进行某种处理:- 方法编程建议:- 方法复杂度:凡事逻辑判断语句均为复杂度。
当一个方法中出现了大于等于10个复杂度,建议根据方法实现进行业务抽离。
在编写Java代码时,需要遵循一定的规则和标准,以提高代码的可读性、可维护性和可扩展性。
你可以根据项目的具体需求和团队的约定来选择合适的规范。
JAVA代码规范本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。
本文档中没有说明的地方,请参看SUN Java标准代码规范。
如果两边有冲突,以SUN Java标准为准。
1. 标识符命名规范1.1 概述标识符的命名力求做到统一、达意和简洁。
1.1.1 统一统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。
统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。
即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
1.1.2 达意达意是指,标识符能准确的表达出它所代表的意义,比如:newSupplier, OrderPaymentGatewayService等;而supplier1, service2,idtts等则不是好的命名方式。
准确有两成含义,一是正确,而是丰富。
如果给一个代表供应商的变量起名是order,显然没有正确表达。
同样的,supplier1, 远没有targetSupplier意义丰富。
1.1.3 简洁简洁是指,在统一和达意的前提下,用尽量少的标识符。
如果不能达意,宁愿不要简洁。
比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。
省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1.1.4 骆驼法则Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。
比如: supplierName, addNewContract,而不是supplier_name, add_new_contract。
Java代码规范本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。
本文档中没有说明的地方,请参看SUN Java标准代码规范。
如果两边有冲突,以SUN Java标准为准。
1.标识符命名规范1.1概述标识符的命名力求做到统一、达意和简洁。
尽量做到每个人按照规范来,多人开发如一人开发一样。
1.1.1 统一统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。
统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。
即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
1.1.2达意达意是指,标识符能准确的表达出它所代表的意义,比如:newSupplier, OrderPaymentGatewayService 等;而supplied, service2 , idtts 等则不是好的命名方式。
准确有两成含义,一是正确,而是丰富。
如果给一个代表供应商的变量起名是order,显然没有正确表达。
同样的,supplier1,远没有targetSupplier意义丰富。
1.1.3简洁简洁是指,在统一和达意的前提下,用尽量少的标识符。
如果不能达意,宁愿不要简洁。
比如:theOrderNameOfTheTargetSupplierWhichlsTransfered 太长,tran sferedTargetSupplierOrderName 则较好,但是tran sTgtSplOrdNm 就不好了。
省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1.1.4骆驼法则Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。
比如:supplierName,addNewC ontract,而不是supplier_ name, add_ new_c on tract 。
1.1.5英文vs拼音尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。
比如表示归档,用archive比较好,用pigeonhole则不好,用guiDang尚可接受。
1.2包名使用小写字母如com.amerisia.ebills ,不要com.amerisia.Ebills单词间不要用字符隔开,比如com.amerisia.ebills ,而不要com.amerisia.ebills _util1.3类名1.3.1首字母大写类名要首字母大写,比如LCIssueI nfoMa nagerEJB, LCIssueActio n ;不要lcIssue In foMa nagerEJB, IcIssueAct ion.1.3.2后缀类名往往用不同的后缀表达额外的意思,如下表:ORDER_CREATED}1.5.3其他首字母小写,骆驼法则,如:public String orderName;1.6局部变量名参数和局部变量名首字母小写,骆驼法则。
尽量不要和域冲突,尽量表达这个变量在方法中的意义。
2•代码格式使用tab缩进源代码。
使用alt+shift+f ( eclipse )来格式化代码,注:格式化代码后还需手动来调下。
2.1源文件编码源文件使用utf-8编码,结尾用unix n分格。
2.2行宽行宽度不要超过80。
Eclipse标准2.3包的导入删除不用的导入,尽量不要使用整个包的导入。
在eclipse下经常使用快捷键ctrl+shift+o 修正导入。
2.4类格式2.5域格式每行只能声明一个域。
域的声明用空行隔开。
2.5方法格式2.6代码块格式261缩进风格大括号的开始在代码块开始的行尾,闭合在和代码块同一缩进的行首, 同一层次的代码要保 持整齐,例如:T cans action t r ansae1 ; ((iz a s kF 1 a g ==nu 11 | | (taskFlag 1 =nul 1 && 1 *T ■ equals ( ta.B kFl ag if (launchMod&No 1 = nul 1 氐& (launchModeNo . equals (TT 2T,) I I 1 Id ssueFoirnn • setHandl eFlag (tf Au ; }{//手工岌起 Id ssueForm ■ se tHandleFlag (Tt Hand.TT ) t} ' St ring LCNo =rTTT ; if (la.uinchMocle'TJo 1 = nul 1 屁& ( 1 aunc hModelJ o . e qu a I D| || JLmLCNo = request,getParameter (^LCNo^J ;} J mapDa 七日 — 七hi. s ■ ge 七工mpor ta 七:±0巧何31139巳 r [) ■ q e t LCI B B U eHand 1 e Ds 上 m (LUTJo 胃 t tr a n. s a c t i o nO c g N o七xnSe ri alNo, Id ssueFo-rm . ge tHandlisFlag () us e ET , bi E N Q ) ?I G T s sueForm.setOldBizNo (bizNo);log . debug (,T mapData : ',T + imapDalza) 1 If (bizNo ! = null && 1 bizNo - equals (TTTT ))' {2.6.2空格的使用2.6.2.1表示分割时用一个空格不能这样:if ( a > b ) {//do someth ing here};2.6.2.2运算符两边用一个空格隔开例如:if (launchModeNo != null && (丄日unchModeNo ■巳qu 曰丄3 (”'丁「)I | 丄日uLCNo = request. getPacamete 匚(fT LCNo TT );}if (LCNo == null I I LCNo. equals (TTTT ) ) {LCNo - bizNo;不要写成:LCCocpInfo lcCorpInfo = (LCCorpInfo) mapDa t3.gEt("LC ;Ccii2p[nfct")F if (lcCorpInf o I =null) {lcIsstieForm ・ se tLcCorpInf o (luCorpInf o);if (lcCotpInfo.gm 七GoodsType )!=null)ShopTypa 日 hcpType = th is. getFaraniet e rManag e r () . gets hopTypeif if (LCNc == null I I LCNo 二b± zNo; LCNo-. equals (…J ) {(lc(if(shopType!=null){lcIssueForm・吕at GoodsTyps(shopType ・gets hopTypeNams());}else{log ・error?("没有找到对应的商品大粪,lcCorpInfo・getGoodsType () =TT-i-lcCi J262.3逗号语句后如不换行,紧跟一个空格如下:call (a, b, c );不能如下:call (a,b,c );2.6.3空行的使用空行可以表达代码在语义上的分割,注释的作用范围,等等。
将类似操作,或一组操作放在一起不用空行隔开,而用空行隔开不同组的代码,如图:puJbJLdu St ri ng ge tDateTime (Date date , !51 ring t orma t) {SimpleDateFormat sdf = new SimpleDateFormat(format)? I'etur'n sdf . f o rma七(dait;。
);丨] (1)*文件编号*Q fetucn*Qthrow s Exception*/public String g y tFileNO(} throws Exception{retutn n*w Se rialNoManag A r-()亠>je r;S^ cialNo ( cf cj , "flnance_t^ mi ng_coi mt TT);*处理遍回文件**Gparam path 文件跆径有*G pat? am con ten七写入内容上例中的空行,使注释的作用域很明显连续两行的空行代表更大的语义分割。
方法之间用空行分割(尽量用一行空行)*域之间用空行分割*超过十行的代码如果还不用空行分割,就会增加阅读困难3.注释规范3.1注释vs代码*注释宜少二精,不宜多而滥,更不能误导*命名达意,结构清晰,类和方法等责任明确,往往不需要,或者只需要很少注释, 就可以让人读懂;相反,代码混乱,再多的注释都不能弥补。
所以,应当先在代码本身下功夫。
*不能正确表达代码意义的注释,只会损害代码的可读性。
*过于详细的注释,对显而易见的代码添加的注释,罗嗦的注释,还不如不写。
*注释要和代码同步,过多的注释会成为开发的负担3.2 Java Doc表明类、域和方法等的意义和用法等的注释,要以javadoc的方式来写。
Java Doc是个类的使用者来看的,主要介绍是什么,怎么用等信息。
凡是类的使用者需要知道,都要用Java Doc来写。
非Java Doc的注释,往往是个代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等。
如下:类/ * **的测试类+ 2014-12-03*@曰11七hor changxiaoyong*/public class Test {13.3块级别注释3.3.1块级别注释,单行时用//,多行时用/* .. */。
3.3.2较短的代码块用空行表示注释作用域3.3.3较长的代码块要用/* ----- start: ------- */和/* ------- end: -------- */包围3.4行内注释行内注释用//写在行尾4最佳实践和禁忌4.1每次保存的时候,都让你的代码是最美的程序员都是懒惰的,不要想着等我完成了功能,再来优化代码的格式和结构,等真的把功能完成,很少有人会再愿意回头调整代码。