前端编码规范 -- 通用篇

Posted adoctors

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端编码规范 -- 通用篇相关的知识,希望对你有一定的参考价值。

前言

本系列意在增强团队的开发协作,提高代码质量和打造开发基石的编码风格规范。

我们知道,当一个团队开始指定并实行编码规范的话,错误就会变得更加显而易见。如果一段特定的代码不符合规范的话,它有可能只是代码风格错误,而也有可能会是bug。早期指定规范就使得代码审核得以更好的开展,并且可以更精确的地定位到错误。只要开发者们能够保证源代码源文件都严格遵循规范,那接下去所使用的混淆、压缩和编译工具则可投其所好不尽相同。

不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的。

文件/资源命名

1、项目名全部采用小写方式,以中划线分隔,禁止驼峰式命名,禁止包含特殊符号,比如空格、$等

在 web 项目中,所有的文件名应该都遵循同一命名约定。以可读性而言,中划线(-)是用来分隔文件名的不二之选。同时它也是常见的URL分隔符(/images/big-black-background.jpg),所以理所当然的,减号应该也是用来分隔资源名称的好选择。

请确保文件命名总是以字母开头而不是数字。而以特殊字符开头命名的文件,一般都有特殊的含义与用处。

资源的字母名称必须全为小写,这是因为在某些对大小写字母敏感的操作系统中,当文件通过工具压缩混淆后,或者人为修改过后,大小写不同而导致引用文件不同的错误,很难被发现。

还有一些情况下,需要对文件增加前后缀或特定的扩展名(比如.min.js,.min.css),抑或一串前缀(比如 3fa89b.main.min.css)。这种情况下,建议使用点分隔符来区分这些在文件名中带有清晰意义的元数据。

//不建议      ->  推荐写法
MyScript.js     ->   my-script.js
myCamelCaseName.css     ->  my-camel-case-name.css
i_love_underscores.html     ->  i-love-underscores.html
1001-scripts.js     ->  thousand-and-one-scripts.js
my-file-min.css     ->  my-file.min.css

2、有复数结构时,要采用复数命名法,如: scripts, styles, images, data-models。

3、为更好的表达语义,文件名使用英文名词命名,或英文简写。多个单词组成时,采用中划线连接方式。

4、不允许命名带有广告等英文的单词,例如ad,adv,adver,advertising,防止该模块被浏览器当成垃圾广告过滤掉。

注释

注释是你自己与你的小伙伴们了解代码写法和目的的唯一途径。特别是在写一些看似琐碎的无关紧要的代码时,由于记忆点不深刻,注释就变得尤为重要了。

编写自解释代码只是一个传说,没有任何代码是可以完全自解释的。而代码注释,则是永远也不嫌多。

当你写注释时一定要注意:不要写你的代码都干了些什么,而要写你的代码为什么要这么写,背后的考量是什么。当然也可以加入所思考问题或是解决方案的链接地址。

//不推荐
var offset = 0;

if(includeLabels) {
  // Add offset of 20
  offset = 20;
}


//推荐
var offset = 0;
 
if(includeLabels) {
  // If the labels are included we need to have a minimum offset of 20 pixels
  // We need to set it explicitly because of the following bug: http://somebrowservendor.com/issue-tracker/ISSUE-1
  offset = 20;
}

一些注释工具可以帮助你写出更好的注释。JSDocYUIDoc 就是用来写 javascript 注释用的。你甚至可以使用工具来为这些注释生成文档,这也是激励开发者们写注释的一个好方法,因为一旦有了这样方便的生成文档的工具,他们通常会开始花更多时间在注释细节上。

代码检查

对于比较宽松自由的编程语言来说,严格遵循编码规范和格式化风格指南就显得极为重要。

对于 JavaScript,建议使用 JSLintJSHint

如果不当或者补充请多多指教!

以上是关于前端编码规范 -- 通用篇的主要内容,如果未能解决你的问题,请参考以下文章

前端(HTML/CSS/JS)-JavaScript编码规范

编码规范篇| C#编码规范 代码规范总结,包括命名规范,代码规范 注释规范等

学好WEB前端之CSS规范

前端代码质量管理

配置 VScode 编辑器 (前端篇)

前端开发规范总结