前端规范

每个项目中需包含editorconfig和eslint,具体以这两个文件配置为准,参考下实际代码开发中比较好的规范标准。

一、通用规范

  • TAB键统一为两个空格,整齐紧凑
  • CSS样式属性或者JavaScript代码后加“;”,方便断句
  • 文件内容统一编码为UTF-8
  • 换行符统一为lf,除了IDE设置,还需设置git里的转换
  • 做好兼容IE10+/firefox,
  • 做自适应方案flex(栅格)+viewport+media query

二、目录规范

  • 层次,建议扁平化,最多不要超过三层
  • 分类,建议按模块分
  • 模块,每个模块基本文件一致,模块入口文件默认为index.(相关后缀名)

三、命名规范

  • 做到最简化,但能一眼看出意思
  • 变量一般为名词,同模块不同功能可写成“模块名+功能”,类聚便于排序查找
  • 方法、函数一般为动词(开头)
  • 多单词驼峰,简写词大写
  • 常量名:大写加下划线,如CONNECT_CLOSE
  • 类名:开头大写
  • 私有变量:开头下划线

四、JSON规范

  • 属性名双引号""
  • 花括号中最后一个属性后不需要逗号

五、HTML规范

  • 开头第一行HTML5文档标准 <!doctype html>
  • IE采用最新模式配置 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  • 360等双核默认选用急速模式 <meta name="renderer" content="webkit">
  • 自适应通用配置 <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1"> 不需rem配合
  • 非特殊情况下CSS样式文件外链至HEAD之间,JavaScript文件在body底部引用
  • 所有标签闭合
  • 属性值双引号""
  • 保持结构整合,避免无谓的增加层次嵌套

六、CSS规范

  • 根据新建样式的适用范围分为三级:全站级、产品级、页面级
  • 尽量通过叠层和继承重用已有样式
  • 不要轻易改动全站级CSS。改动后,要经过全面测试
  • 使用选择器时,命名比较短的词汇或缩写不建议直接定义,重名率高
  • 可用上级节点进行限定,命名空间的概念,保证只对该模块有作用
  • 尽量不要在标签上直接写样式
  • 尽量不要写!important
  • 避免写表达式expression
  • 使用CSS扩展语言,如Sass

七、JavaScript规范

  • “()”前后需要加空格
  • “=”前后需要加空格
  • “,”“:”后面需要加空格
  • for-in循环体中必须用hasOwnProperty方法检查成员是否为自身成员,避免来自原型链上的污染
  • 长语句断行
  • 注重HTML分离,减小reflow
  • 空行分隔逻辑独立块
  • 多用why型的注释
  • 需改进或未完成代码用TODO标记
  • 使用Eslint中Airbnb标准
  • 减少代码重复率和复杂度

八、图片规范

  • 大图需要优化,保持大小不超过一两百K
  • 图标用字体代替
  • 极小图可用base64
  • 可使用第三方图片服务,显示可控
  • 图片加载考虑懒加载
  • 图片显示建议采用相框居中

九、接口规范

  • 统一接收、返回格式,现流行JSON,contentType最好为application/json而不是表单形式提交(表单传的值都是字符串,且不能嵌套),有图片用multipart/form-data
  • 统一返回固定参数,成功/失败格式
  • 统一分页参数
  • 统一金额单位
  • 统一时间日期格式
  • 统一返回关联数据格式,2one需要一个显示名称,2many需要数组对象
  • 实现CORS跨域
  • 在线接口文档维护,利于管理及mock,如YAPI

十、组件设计规范

参考antd的精髓,https://ant.design/docs/spec/introduce-cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容

  • 通用规范 tab键用两个空格代替因为在不同系统的编辑工具对tab解析不一样,windows下的tab键是占四个空格...
    熊猫猫超人阅读 29,918评论 17 113
  • 常用html、CSS、javascript前端命名规范无论是从技术角度还是开发视角,对于web前端开发规范文档都有...
    krock01阅读 265评论 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,474评论 1 45
  • 通用规范 tab键用两个空格代替 因为在不同系统的编辑工具对tab解析不一样,windows下的tab键是占四个空...
    戈薇薇阅读 470评论 0 1
  • 1:通用规范 tab键用两个空格代替 因为在不同系统的编辑工具对tab解析不一样,windows下的tab键是占四...
    糖心m阅读 456评论 0 1