代码编写规范
C语言代码规范

C语言代码规范C语言是一种广泛应用于编程领域的高级编程语言,具有跨平台、效率高、灵活性强等优点。
编写规范合乎标准的C语言代码有助于提高代码的可读性、可维护性和可移植性。
本文将介绍一些常用的C语言代码规范,以帮助开发者编写高质量的C语言程序。
一、代码格式1. 缩进:使用四个空格进行缩进,不要使用制表符。
这样可以保证在不同编辑器或显示器上显示的代码缩进一致。
2. 行长度限制:每行代码应尽量保持在80个字符以内,超过限制的代码可以进行适当换行。
换行时要注意保持代码的清晰可读性,一般可以采用缩进来表达代码的层次关系。
3. 大括号:大括号的位置应该和相关语句对齐,且起始的大括号应该放在语句所在行的末尾,而不是单独另起一行。
4. 空格和空行:在适当的情况下使用空格和空行可以提高代码的可读性。
例如,在运算符和操作数之间使用空格,不同的代码块之间使用空行进行分割等。
二、命名规范1. 变量名:使用有意义的变量名,尽量避免使用单个字符或简单的缩写表示变量。
变量名应该忠实地反映其所代表的含义。
2. 函数名:函数名应使用动词和名词的组合,具体描述函数的功能。
函数名应该清晰地表达其所完成的操作或所返回的结果。
3. 常量名:常量名使用全大写字母,并使用下划线进行分隔。
例如,MAX_LENGTH。
4. 类型名:类型名使用首字母大写的驼峰命名法,例如,StudentInfo。
5. 宏定义名:宏定义名使用全大写字母,并使用下划线进行分隔。
例如,PI。
三、注释规范1. 单行注释:使用"//"进行单行注释,注释符号后面应该留一个空格。
注释应该清晰明了,解释代码的用途或特殊处理等。
2. 多行注释:使用"/*"和"*/"进行多行注释。
多行注释通常用于解释一整块代码的功能或原理等。
3. 函数注释:在每个函数定义的上方加上函数注释,注释中应该包含函数的功能描述、输入参数的说明、返回值的含义以及可能抛出的异常等信息。
编程语言规范

编程语言规范编程语言规范是程序员在编写代码时遵循的一套规则和标准,它旨在确保代码的可读性、一致性和可维护性。
下面是一份通用的编程语言规范,包括命名规范、代码风格、注释规范和一些最佳实践。
一、命名规范1. 变量名、函数名采用小驼峰式命名:例如:myVariable,myFunction。
2. 类名采用大驼峰式命名:例如:MyClass。
3. 常量名全大写:例如:MY_CONSTANT。
二、代码风格1. 使用缩进代替制表符,常用的方式是使用四个空格缩进。
2. 在代码块中,使用一对花括号{}来表示开始和结束,且开始花括号需单独一行。
3. 操作符与运算数之间加入空格,例如:a = b * c。
4. 代码行长度不超过80个字符,超出的部分需要换行。
5. 避免行尾空格。
三、注释规范1. 使用自然语言编写注释,明确解释代码的功能和目的。
2. 在函数和类的定义之前,添加文档注释,说明函数或类的用途、参数和返回值。
3. 注释行长度不超过80个字符,超出的部分需要换行。
四、最佳实践1. 遵循单一职责原则:每个函数、类只负责一项具体的功能。
2. 使用清晰的命名:命名应该能表达代码的意义,避免使用缩写和无意义的命名。
3. 尽量避免使用全局变量,在需要共享数据时,使用参数传递或者类的属性。
4. 避免使用魔法数字,应该使用有意义的常量来代替。
5. 错误处理应该被捕获并处理,避免让程序崩溃或进入不可预测的状态。
6. 函数和类应该有适当的文档注释,以便其他人能够理解和使用。
总结:编程语言规范是一项重要的开发实践,它能够提高代码的质量和可维护性。
在编写代码时,遵循一套规范可以使代码更易读、易懂,提高团队之间的协作效率。
同时,编程语言规范也是程序员的一种专业素养,它不仅能够为代码提供一种良好的结构和格式,还能够反映出程序员的编程水平和对软件工程的理解。
因此,我们在编写代码时应该时刻遵循编程语言规范,不断提高自己的编程素养,并不断完善和优化自己的代码。
软件开发公司代码编写规范

软件开发公司代码编写规范软件开发公司的代码编写规范是为了确保开发出高质量、可维护、可扩展的软件。
本文将介绍一些常见的代码编写规范,旨在提高团队协作效率和代码质量,并促进项目的成功开发。
1. 命名规范- 使用有意义、清晰简洁的变量、函数和类名称。
- 遵循驼峰命名法,首字母小写。
- 类名应以大写字母开头。
- 避免使用缩写和简写,尽量使用具有描述性的名称。
2. 注释规范- 对代码进行详细注释,解释代码的功能、目的和实现方式。
- 注释应放在代码行上方,使用自然语言、规范的语法。
- 避免过多无用的注释,注释应精准、简洁明了。
3. 编码规范- 使用一致的缩进和空格,增强代码的可读性。
- 适当添加空行将代码分块,提高代码的可读性。
- 代码行长度控制在80个字符以内,避免过长的代码行。
- 使用简洁明了的语句和表达式,避免过度复杂的代码逻辑。
4. 错误处理规范- 使用异常处理机制处理可能出现的异常情况。
- 避免使用裸露的try-catch语句块,应具体指明捕获的异常类型。
- 在异常处理中提供清晰的错误提示信息。
5. 面向对象规范- 使用设计模式和面向对象的原则,提高代码的可维护性和扩展性。
- 单一职责原则:每个类应该只有一个明确的责任。
- 开放封闭原则:对扩展开放,对修改封闭。
6. 文档规范- 编写清晰的文档,介绍项目的整体结构、功能和使用方法。
- 说明代码中特殊函数、算法或者复杂业务逻辑的实现方式。
- 提供示例代码和演示,帮助他人更好地理解和使用代码。
7. 版本控制规范- 使用版本控制工具(如Git)进行代码管理,并遵守团队约定的分支规范。
- 提交代码前进行代码审查,确保代码质量和规范。
- 使用有意义的提交信息,描述代码变更内容。
8. 测试规范- 使用单元测试框架编写单元测试用例,覆盖核心逻辑。
- 遵循测试驱动开发(TDD)原则,在编写代码前先编写测试用例。
- 运行自动化测试,确保代码变更不会破坏系统稳定性。
总结:软件开发公司的代码编写规范是确保团队成员以相同的标准进行代码编写,提高代码质量和可维护性的重要规范。
代码书写规范

代码书写规范代码书写规范是指在编写代码时应遵守的一系列规定,目的是为了提高代码的质量、可读性和可维护性。
下面是一些常见的代码书写规范:1. 命名规范:- 使用有意义且描述准确的变量名、函数名和类名,避免使用缩写和单个字母作为标识符。
- 使用驼峰命名法或下划线命名法来命名变量、函数和类。
例如:myVariable、get_data()、User_Account。
- 避免使用保留字作为标识符。
- 类名应该以大写字母开头,而变量和函数名应以小写字母开头。
2. 缩进与空格:- 使用空格或制表符进行代码的缩进,并在整个项目中保持一致。
- 通常使用4个空格作为一个缩进级别。
- 避免使用制表符和空格混用,以免造成代码混乱和显示问题。
3. 代码注释:- 在关键地方添加详细的代码注释,解释代码的作用、实现思路和注意事项。
- 不要过多地注释显而易见的代码。
- 注释应该易于理解和阅读,避免使用过于复杂或晦涩的语言。
4. 函数与方法:- 函数和方法应该具有明确的功能,遵循单一职责原则。
- 避免使用过长的函数或方法,可以通过拆分成多个小函数来提高可读性和可维护性。
- 对于公共方法,应当提供文档注释,描述其功能、参数和返回值。
5. 代码格式:- 采用一致的代码风格,包括缩进、空格、括号位置等。
- 使用合适的空行和空格来组织代码,提高可读性。
- 对于长的代码行,可以适当地换行,使用反斜杠或括号来连接。
- 使用代码块包裹逻辑片段,例如使用花括号{}包裹if语句和循环语句。
6. 异常处理:- 在可能发生异常的代码块添加异常处理逻辑,保证程序的稳定性和可靠性。
- 避免使用空的try-catch块,应该在catch块中添加具体的异常处理信息。
7. 导入语句:- 明确导入的模块,避免导入整个模块。
- 每个导入语句只导入一个模块,避免使用通配符导入。
8. 版本控制:- 使用版本控制工具,如Git,对代码进行管理。
- 提交代码前应进行代码格式化和静态代码检查。
代码编写规范教程

代码编写规范教程
代码编写规范是一种为了提高代码可读性、可维护性和可扩展性的重要手段。
以下是一些通用的代码编写规范:
1.缩进:使用一致的缩进风格,通常使用4个空格作为一个缩进层级。
2.行长度:每行代码的长度不超过80个字符。
如果一行超过了80个字符,
可以使用括号或者反斜杠进行分行。
3.注释:注释应该清晰明了,能够解释代码的功能和目的。
注释应该包括必
要的说明,例如变量名、函数名、类名等。
4.命名规范:变量、函数、类等应该使用有意义的英文名称,并且名称应该
能够反映其功能和用途。
5.代码重用:避免重复的代码,尽量将通用的代码封装成函数或者类,以便
于重用和维护。
6.错误处理:代码应该能够正确处理错误情况,例如输入无效或者异常情
况。
7.代码测试:编写单元测试和集成测试来确保代码的正确性和稳定性。
8.文档注释:对于类、函数、模块等,应该添加文档注释,描述其功能、参
数、返回值等信息。
9.模块化:将代码划分为独立的模块,每个模块负责完成特定的任务。
10.安全性:避免代码中存在安全隐患,例如SQL注入、跨站脚本攻击等。
以上是一些通用的代码编写规范,具体的规范可能因不同的编程语言、项目类型和团队而有所不同。
建议在编写代码时参考相关的编码规范和最佳实践指南。
入门级程序员必学的10个代码规范

入门级程序员必学的10个代码规范代码规范是编写高质量、可维护和可扩展代码的重要指南。
遵循代码规范可以提高代码的可读性、降低维护成本,并促进团队合作。
以下是入门级程序员必学的10个代码规范:1.命名规范:-变量、函数和类名要有意义且描述性强,使用驼峰式命名法。
-避免使用单个字符或缩写作为变量名。
-对于常量,使用全大写命名,使用下划线分隔单词。
2.缩进和空格:-使用合适的缩进,一般为四个空格。
-避免使用制表符。
-为操作符和逗号之前添加空格,但不要在括号和参数之间添加空格。
3.注释规范:-在关键代码块上方添加注释,说明该代码的功能和用途。
-避免过度注释或乱写注释,只注释必要的部分。
-使用有意义的注释来解释复杂的算法或特殊需求。
4.函数和方法规范:-函数或方法的长度应保持在可读范围内,不要超过50行。
-函数和方法的功能应该单一,尽量避免实现过多的功能。
-使用合适的命名来描述函数或方法的功能。
5.错误处理:-使用异常处理机制来处理错误情况,避免使用错误码。
-函数和方法应该返回有意义的错误消息,方便用户调试和排查问题。
-在必要的时候,使用日志记录错误信息。
6.可复用性:-提取公共的功能代码到可复用的模块中,避免重复代码。
-使用接口或抽象类来定义通用的行为和方法。
-遵循单一职责原则,使每个类和方法只负责一个功能。
7.异步编程规范:-避免使用回调地狱,使用Promise、async/await等异步编程方法提高可读性。
-错误处理要考虑异步函数的特殊情况和回退机制。
8.文件和目录结构:-为文件和目录选择有意义的名称,符合项目的逻辑结构。
-放置相似功能或相关文件在同一文件夹下,方便查找和管理。
-确保代码和测试文件的分离,避免混淆。
9.版本控制:-使用版本控制系统(如Git)来管理代码的历史记录和变更。
-遵循合适的分支策略和提交规范。
-确保每个提交都有有意义的注释,解释变更的目的和影响。
10.代码审查:-将代码提交给同事或团队进行代码审查,以提供反馈和建议。
代码编写规范

代码编写规范代码编写规范是一套旨在统一代码风格和编写规范的指导原则。
良好的代码编写规范能够提高代码的可读性、可维护性和可扩展性,使代码更易于理解和协作开发。
以下是一些常见的代码编写规范的指导原则:1. 命名规范:- 使用有意义的名字来命名变量、函数、类等,使其能清晰表达其含义。
- 使用驼峰命名法或下划线命名法,统一命名风格。
- 避免使用缩写或简写,尽量使用完整的单词来命名。
2. 缩进和空格:- 使用合适的缩进来表示代码的嵌套层级,一般使用4个空格或者一个制表符。
- 在操作符周围添加空格,使其更加易读,例如:`a + b`。
- 避免行尾空格,这可能导致问题或者冲突。
3. 注释:- 使用注释来解释代码的用途、实现细节和逻辑等,尤其是复杂的部分。
- 在每个文件的头部添加版权和作者信息。
- 避免使用过多的注释,代码应该尽量自解释。
4. 函数和方法:- 函数应当尽量短小,只实现单一的功能。
- 函数的参数应当简洁明了,避免使用过多的参数。
- 函数的返回值应当清晰明了,尽量避免返回多个值。
- 函数和方法的命名应当是动宾结构,能够清晰地表达其功能。
5. 条件和循环:- 使用括号将条件语句包围起来,增加可读性。
- 使用明确的条件判断,避免使用复杂的表达式。
- 避免使用深层嵌套的条件和循环语句,尽量保持简洁。
6. 异常处理:- 明确捕获和处理异常,在发生异常时给出清晰的提示信息。
- 避免捕获所有异常,只捕获特定的异常。
- 使用合适的异常类来表示不同的异常情况。
7. 文件和模块:- 每个文件应当只包含一个模块或类,避免将多个功能放在同一个文件中。
- 文件名应当与模块或类的名字保持一致,并使用小写字母。
- 导入其他模块或类时使用绝对导入,确保依赖关系和引用路径的清晰。
8. 类和对象:- 类的命名应当使用大驼峰命名法,以清晰表达其含义。
- 类的方法应当尽量简洁、清晰和有序地实现功能。
- 避免使用全局变量或公共属性,尽量封装数据和行为。
代码编写规范

代码编写规范代码编写规范:1. 要有⼀定的注释;2. 程序块要采⽤缩进风格编写,缩进只使⽤TAB键,不能使⽤空格键(编辑器中将TAB键设置为4格);3. ⽅法体的开始、类的定义、以及if、for、do、while、switch、case语句中的代码都要采⽤缩进⽅式;4. 程序块的分界符左⼤括号“{”和右⼤括号“}”都另起⼀⾏,应各独占⼀⾏并且位于同⼀列,同时与引⽤它们的语句左对齐;5. 对齐只使⽤TAB键,不使⽤空格键;6. ⼀⾏只写⼀条语句;7. If、for、do、while、switch、case、default等语句⾃占⼀⾏;8. ⼀⾏的长度超过80个字符需要换⾏,换⾏在⼀个逗号后⾯断开,在⼀个操作符前⾯断开;9. 多⾏注释使⽤注释界定符“/*...*/”;10. 命名采⽤⼤⼩写混合,提⾼名字的可读性;采⽤该领域的术语,尽量少⽤缩写,但如果⼀定要⽤,当使⽤公共缩写和习惯缩写等;避免使⽤相似或者仅在⼤⼩上有区别的名字;11. 变量命名采⽤⼤⼩写混合的⽅式,第⼀个单词的⾸字母⼩写,其后单词的⾸字母⼤写;变量名不应以下划线或美元符号开头;尽量避免单个字符的变量名,除⾮是⼀次性的临时变量。
临时变量通常被取名为i,j,k,m和n,它们⼀般⽤于整型;c,d,e,它们⼀般⽤于字符型;对不易清楚识别出该变量类型的变量应使⽤类型名或类型名缩写作其后缀,如:Thread animationThread;String responseStr;集合类型变量,例如数组和⽮量,应采⽤复数命名或使⽤表⽰该集合的名词做后缀:Image[] images;Vector requestQueue;1. 常量命名全部采⽤⼤写,单词间⽤下划线隔开:Static final int MIN_WIDTH=4;1. ⽅法名是⼀个动词,采⽤⼤⼩写混合的⽅式,第⼀个单词的⾸字母⼩写,其后单词的⾸字母⼤写;2. If、for、do、while等语句的执⾏语句部分⽆论多少都要加括号“{}”;3. 每当⼀个case顺着往下执⾏时(因为没有break语句),通常应在break语句的位置添加注释;4. 尽量避免在循环中构造和释放对象;5. 在使⽤局部变量的过程,按就近原则处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
知识管理系统代码编写规范一、介绍本文档为《知识管理系统》代码编写规范,为保证代码风格的一致性和后期的可维护性,文档讲述的内容要求所有开发人员必须遵守。
本规范主要参考了Google Java Style,包括了其他一些业界约定俗成的公约和普遍采用的标准。
本规范并非最终标准,一些规定还需再做商讨。
1.1 术语说明本文档除非特殊说明,否则:1. 类(class)统指普通类、枚举类、接口和注解类型。
2. 注释(comment)只用来指实现注释(implementation comments)。
我们不使用“文档注释”这样的说法,而会直接说Javadoc。
其他“术语说明”,将在文档中需要说明的地方单独说明。
1.2 文档说明本文档中的代码并不一定符合所有规范。
即使这些代码遵循本规范,但这不是唯一的代码方式。
例子中可选的格式风格也不应该作为强制执行的规范。
二、源码文件基础2.1 文件名源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。
2.2 文件编码:UTF-8源码文件使用UTF-8编码。
2.3 特殊字符2.3.1 空格字符除了换行符外,ASCII 水平空白字符(0x20)是源码文件中唯一支持的空格字符。
这意味着:1. 其他空白字符将被转义。
2. Tab字符不被用作缩进控制。
2.3.2 特殊转义字符串任何需要转义字符串表示的字符(例如\b, \t, \n, \f, \r, \", \'和\\等),采用这种转义字符串的方式表示,而不采用对应字符的八进制数(例如\012)或Unicode 码(例如\u000a)表示。
2.3.3 非ASCII 字符对于其余非ASCII字符,直接使用Unicode字符(例如∞),或者对应的Unicode 码(例如\u221e)转义都是允许的。
唯一需要考虑的是,何种方式更能使代码容易阅读和理解。
注意:在使用Unicode码转义,或者甚至是有时直接使用Unicode字符的时候,添加一点说明注释将对别人读懂代码很有帮助。
三、源码文件结构源码文件按照先后顺序,由以下几部分组成:1. license 或者copyright 声明信息。
(如果需要声明)2. 包(package)声明语句。
3. import 语句。
4. 类声明(每个源码文件只能有一个顶级类)。
每个部分之间应该只有一行空行作为间隔。
3.1 license 或者copyright 的声明信息。
如果需要声明license 或copyright 信息,应该在文件开始时声明。
3.2 包声明包声明的行没有行长度的限制。
单行长度限制不适用于包声明。
3.3 import语句3.3.1 不使用通配符import即,不要出现类似这样的import语句:import java.util.*;3.3.2 没有行长度限制import 语句的行没有行长度的限制。
单行长度限制不适用于import 语句所在行。
3.3.3 顺序和空行import语句应该被分为几个组,每个组之间由单行的空行隔开。
分组的顺序如下:1. 所有的静态导入为归为一组。
2. com.sinosoft(项目自带包)包的import归为一组。
3. 第三方包。
每个顶级包归为一组。
第三方包之间按ASCII码排序。
例如:android, com, junit,org, sun4. java包归为一组。
5. javax包归为一组。
同一组内的import语句之间不应用空行隔开。
同一组中的import语句按ASCII 码排序。
3.4 类声明3.4.1 只声明一个顶级类每个源码文件中只能有一个顶级类。
例外:package-info.java,该文件中可没有package-info类。
3.4.2 类成员顺序类成员的顺序对代码的易读性有很大影响,但这也不存在唯一的通用法则。
不同的类可能有不同的排序方式。
重要的是,每个类都要按照一定的逻辑规律排序。
维护者应该要能解释这种排序逻辑。
比如,新的方法不能总是习惯性地添加到类的结尾,因为这样就是按时间顺序而非某种逻辑来排序的。
3.4.2.1 重载方法:不应该分开当一个类有多个构造函数,或者多个同名成员方法时,这些函数应该写在一起,不应该被其他成员分开。
四、格式术语说明:块状结构(block-like construct)指类、成员函数和构造函数的实现部分(大括号中间部分)。
注意,在后面的4.8.3.1节中讲到数组初始化,所有的数组初始化都可以被认为是一个块状结构(非强制)。
4.1 大括号4.1.1 大括号不可省略大括号一般用在if, else, for, do和while等语句。
即使当它的实现为空或者只有一句话时,也需要使用。
4.1.2 非空语句块采用K & R风格对于非空语句块,大括号遵循Kernighan & Ritchie风格:•左大括号前不换行。
•左大括号后换行。
•右大括号前换行。
•如果右大括号结束一个语句块或者函数体、构造函数体或者有命名的类体,则右大括号后换行,否则不要换行。
例如,当右大括号后面接else或者逗号时,不应该换行。
例子:1.return new MyClass(){2.@Override public void method(){3.if(condition()){4.try{5. someting();6.}catch(ProblemException e){7. recover();8.}9.}10.}11.};一些例外的情况,将在4.8.1节讲枚举类型的时候讲到。
4.1.3 空语句块:可以用简洁版本一个空的语句块,大括号可以简洁地写成{},不需要换行。
如果它是一个多块语句的一部分(if/else或try/catch/finally) ,即使大括号内没内容,右大括号也要换行。
例子:1.void doNothing(){}4.2 语句块的缩进:4空格每当一个新的语句块产生,缩进就增加两个空格。
当这个语句块结束时,缩进恢复到上一层级的缩进格数。
缩进要求对整个语句块中的代码和注释都适用。
(例子可参考之前4.1.2节中的例子)。
4.3 一行最多只有一句代码每句代码的结束都需要换行。
4.4 行长度限制:80或100不同的项目可以选择采用80个字符或者100个字符作为限制。
除了以下几个特殊情况外,其他代码内容都需要遵守这个长度限制。
这在4.5节会有详细解释。
例外:1. 按照行长度限制,无法实现地方(例如:Javadoc 中超长的URL 地址,或者一个超长的JSNI 方法的引用);2. package和import语句不受长度限制。
(见3.2、3.3节);3. 注释中的命令行指令行,将被直接复制到shell中执行的。
4.5 换行术语说明:当一行代码按照其他规范都合法,只是为了避免超出行长度限制而换行时,称为长行断行。
长行断行,没有一个适合所有场景的全面、确定的规范。
但很多相同的情况,我们经常使用一些行之有效的断行方法。
注意:将长行封装为函数,或者使用局部变量的方法,也可以解决一些超出行长度限制的情况。
并非一定要断行。
4.5.1 在何处断行断行的主要原则是:选择在更高一级的语法逻辑的地方断行。
其他一些原则如下:1. 在一个逗号后面断开。
2. 在一个操作符前面断开(= 号和foreach语句的冒号除外)。
3. 在调用函数或者构造函数需要断行时,与函数名相连的左括号要在一行。
也就是在左括号之后断行。
4.5.2 断行的缩进:至少8个字符当断行之后,在第一行之后的行,我们叫做延续行。
每一个延续行在第一行的基础上至少缩进四个字符。
当原行之后有多个延续行的情况,缩进可以大于8个字符。
如果多个延续行之间由同样的语法元素断行,它们可以采用相同的缩进。
4.6.3节介绍水平对齐中,解决了使用多个空格与之前行缩进对齐的问题。
4.6 空白4.6.1 垂直空白以下情况需使用一个空行:1. 类成员之间需要空行隔开:字段、构造函数、方法、内部类、静态初始化语句块(staticinitializers)、实例初始化语句块(instance initializers)。
o例外:连续字段之间的空白行不是必需的。
一般多个字段中间的空行,是为了对字段做逻辑上的分组。
2. 在函数体内,语句的逻辑分组间使用空行。
3. 类的第一个成员之前,或者最后一个成员结束之后,用空行间隔。
(可选)4. 本文档中其他部分介绍的需要空行的情况。
(例如3.3节中的import 语句)单空行时使用多行空行是允许的,但是不要求也不鼓励。
4.6.2 水平空白除了语法和规范的其他规则,词语分隔、注释和Javadoc 外,水平的ASCII 空格只在以下情况出现:1. 所有保留的关键字与紧接它之后的位于同一行的左括号(()之间需要用空格隔开。
(例如if、for、catch)2. 所有保留的关键字与在它之前的右大括号(})之间需要空格隔开。
(例如else、catch)3. 在左大括号({)之前都需要空格隔开。
只有两种例外:o@SomeAnnotation({a, b})o String[][] x = {{"foo"}};4.所有的二元运算符和三元运算符的两边,都需要空格隔开。
一元操作符和操作数之间不应该加空格,比如:负号(“-”),自增(“++”)和自减(“--”)。
例:i++;5. 逗号、冒号、分号和右括号之后。
6. 如果在一条语句后做注释,则双斜杠(//)两边都要空格。
这里可以允许多个空格,但没有必要。
7. 变量声明时,变量类型和变量名之间需要用空格隔开:List<String> list。
8. 初始化一个数组时,大括号之间可以用空格隔开,也可以不使用。
(例如:int[] {5,6}和new int[] { 5, 6 }都可以)注意:这一原则并不要求或禁止一行开始或者结束时的空格。
只针对行内部字符之间的隔开。
4.6.3 水平对齐:不做强制要求术语说明:水平对齐,是指通过添加多个空格,使本行的某一符号与上一行的某一符号上下对齐。
这种对齐是允许的,但是不会做强制要求。
以下是没有水平对齐和水平对齐的例子:1.private int x;// this is fine2.private Color color;// this too3.4.private int x;// permitted, but future edits5.private Color color;// may leave it unaligned注意:水平对齐能够增加代码的可读性,但是增加了未来维护代码的难度。
考虑到维护时只需要改变一行代码,之前的对齐可以不需要改动。
为了对齐,你更有可能改了一行代码,同时需要更改附近的好几行代码,而这几行代码的改动,可能又会引起一些为了保持对齐的代码改动。