代码风格

介绍

代码风格一切以可读性为前提,并尽量保持精简整洁,且让代码具有自说明(语义化)能力。
为了代码风格的统一,代码审查可通过内置在开发框架内的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 过多的情况应用设计模式来进行优化
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351