相关文章

  简书原文:https://www.jianshu.com/p/5918c283cdc3

  我的前端规范——开篇:http://www.cnblogs.com/shcrk/p/9271561.html

  我的前端规范——HTML篇:http://www.cnblogs.com/shcrk/p/9271613.html

  我的前端规范——CSS篇:http://www.cnblogs.com/shcrk/p/9271608.html

  我的前端规范——JavaScript篇:http://www.cnblogs.com/shcrk/p/9271620.html

  

大纲

  前言
  1、命名规范
  2、编码规则

前言

  规范对于一个项目来说是很重要的,统一的规范对代码的一致性、项目的质量、工作的协调都有很大的帮助,而且有时候可以规避很多意料不到的错误。
  当然,规范是死的,人是活的。我总结的前端规范是我认为对我来说比较适合的,我又认可的,所以我能比较好的接受和使用。但是,不同的团队,不同的项目需要遵守的规范也许就是不一样的。规范的作用是让项目的代码看起来更有统一性,让团队的协作更方便,因此,根据具体的情况制定统一的规范才是最合理的,而这里我给出的也只是我认为比较符合我风格和习惯的,至于具体的规范还是要依据具体的情况来总结制定。
  单独写成一篇的话篇幅很大,因此我会将我的总结写成:开篇、css、html、js四篇,让有需要的读者能够更方便的查找到想要的知识。

1、命名规范

  1.1、文件命名可读性强
    文件夹、文件的命名与命名空间应能代表代码功能,可读性强。

  1.2、函数命名
    驼峰命名方式,函数名字应体现出该函数的作用

function funName() {}

  

  1.3、常量
    大写

var VARIABLENAME

  

  1.4、变量
    驼峰命名
    变量名应体现出该变量的内容
    通过加下划线体现其局部变量的含义,如 let _name;

var variableName

2、编码规则

  2.1、排版缩进
    采用统一的缩进方式排版代码。缩进必须是软tab(用空格字符)。(这里的tab的要求是4个空格)

  2.2、关键词、条件括弧后面使用空格;运算操作符号两侧使用空格;语句分割符‘,’后面使用空格

var name[空格]=[空格]value;
if[空格](a,[空格]b) {
}

  

  2.3、左大括号"{"可以居行尾,也可写在下行首(独自一行);右大括号"}"单独占一行,居行首

if (a && b) {
}
------------------------
if (a && b)
{
}

  

  2.4、句末必须用分号结尾

var fn = function () {
};//这里没有分号的话,脚本解析器会报错!!!
(function () {
alert(1);
})();

  

  2.5、单行过长应在适当位置予以换行,增强可读性
    if 语句括号中的条件若过多过长,应予以折行;折行后,||、&& 等符号应与 “(” 后的第一个字母纵向对齐

if (condition1
&& condition2
|| condition3) {
}

  

  2.6、if、while、for、do语句的执行体总是用"{"和"}"括起来,即使在其结构体内只有一条语句

if (s==100) {
alert('shit!');
}

  

  2.7、语法意义相互独立的代码将用空行分隔

a++; b++;   //!!!避免同一行书写两个表达式
if (a > b) {
value = a; //行间不用空行间隔
} var variableName = value; //与上一代码行使用空行间隔

  

最新文章

  1. React学习——ListView组件
  2. linux下打包命令的使用
  3. Mysql查询比较
  4. 用Java实现一个通用并发对象池
  5. javaSE复习总结
  6. So Easy-Ntp嵌入式软件移植
  7. JeeSite数据分页与翻页
  8. 一个很变态的SQL
  9. 【Mybatis】MyBatis之动态SQL(六)
  10. 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广
  11. 精确率、准确率、召回率和F1值
  12. TCP/IP 笔记 - 传输控制协议
  13. bat、sh等批处理文件(脚本文件)
  14. 用PowerDesigner建立概念模型的问题:不能创建相同字段名的关键字段
  15. [LeetCode] 153. Find Minimum in Rotated Sorted Array_Medium tag: Binary Search
  16. VIM 如何使用系统的剪切板
  17. VS中sln和suo的区别
  18. [Java学习] Java包装类、拆箱和装箱详解
  19. opencv-python教程学习系列6-用滑动条做调色板
  20. 创建一个子进程---vfork

热门文章

  1. [置顶] Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
  2. POJ——T 2796 Feel Good
  3. 利用hibernateTemplate进行最简单的分页
  4. Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1
  5. 洛谷 P2679 子串
  6. HDU 1007 Quoit Design 平面内最近点对
  7. AJAX - 封装AJAX GET 数组join( )方法 键值对取value POST请求参数注意点
  8. BZOJ4196: [Noi2015]软件包管理器(树链剖分)
  9. BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊(LCT)
  10. JS实践与写博客-序