代码风格

介绍

代码风格一切以可读性为前提,并尽量保持精简整洁,且让代码具有自说明(语义化)能力。
为了代码风格的统一,代码审查可通过内置在开发框架内的eslint+git-hooks给与编译时提示,在做代码合并时候,再由专人进行人工审核。

命名约定

最重要的一致性规则是命名管理,命名应采用同一种形式的格式,如驼峰或者下划线命名;
命名尽量语义化,应和具体的实体有关且精简,尽量缩写,但是不能盲目缩写;

通用命名规则:

  • 函数命名、变量命名、文件命名应具有描述性,不要过度缩写,类型和变量应该是名词,函数名可以用“命令性”动词
  • 尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码更重要
  • 命名尽量不出现数字,汉字等,特殊情况除外

特殊情况:

  • 用英语无法准确表达
  • 专业术语中含有数字

常用命名修饰符:public static final base private

文件、文件夹

文件和文件夹名要全部小写,可以包含下划线(_)或短线(-),按项目约定来,不能出现数字,汉字,驼峰,特殊情况 除外。例如:
aaa-bbbaaa_bbb;

类型命名每个单词以大写字母开头,不包含下划线:MyExcitingClass、MyExcitingEnum。所有类型命名——类、结构体、类型定义(typedef)、枚举——使用相同约定。例如:
class UrlTableclass UrlTableTesterstruct UrlTableProperties

变量

变量名一律小写,单词间以下划线相连,类的成员变量以下划线结尾,例如:
local_variablemember_variable_

注意:

  • 全局变量可以g_开头
  • 变量命名不要用 is 做前缀,避免编译解析出错

常量

全局常量的命名采用字母全部大写,单词之间加下划线的方式,例如:
BASE_STATUSBASE_TYPE
局部的常量使用大驼峰命名方式,或者使用首字母大写与下划线组合的方式,例如:
Todo_TypeTodoType

函数

函数、函数的参数或变量使用驼峰命名,且有意义,例如:
function getCode (codeType) {}
AddTableEntry()

命名空间

命名空间的名称是全小写的,其命名基于项目名称和目录结构,例如:
google_awesome_project

枚举命名

枚举值应全部大写,单词间以下划线相连:MY_EXCITING_ENUM_VALUE
枚举名称属于类型,因此大小写混合:UrlTableErrors

注释

使用 ///* */ ,统一就好。
一般情况下,代码部分采用 // 注释,说明性部分采用 /**/ 注释,
好的注释应提供设计意图、阐释、注意事项等,而不是写具体如何实现。

扩展:可使用 document.this等注释插件进行注释;

空格

在函数和变量,操作符前后,参数之间,使用一个空格

排版规范

  • 每一行代码字符数不超过80
  • 使用4空格tab来缩进
  • 一行代码只表达一个意图
  • 每一个属性值必须添加分号
  • 如果多个属性公用一个样式集,则多个属性必须写成多行形式
  • 其它排版约定等...

错误处理/异常处理

  • 对有能力处理的异常,尽量捕获并处理
  • 处理采用相同的形式

其它

  • 代码应高内聚低耦合,保证充分的复用性和扩展性
  • 函数嵌套尽量不超过三层
  • 变量命名不宜过长等
  • if else 过多的情况应用设计模式来进行优化
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。