目录

  • 前端代码规范
  • 一.编程规约
    • (一) 命名规范
      • 1.1.1 项目命名
      • 1.1.2 目录命名
      • 1.1.3 JS、CSS、SCSS、HTML、PNG 文件命名
      • 1.1.4 命名严谨性
    • (二) HTML 规范 (Vue Template 同样适用)
      • 1.2.1 HTML 类型
      • 1.2.2 缩进
      • 1.2.3 分块注释
      • 1.2.4 语义化标签
      • 1.2.5 引号
    • (三) CSS 规范
      • 1.3.1 命名
      • 1.3.2 选择器
        • 1) css 选择器中避免使用标签名
        • 2) 使用直接子选择器
      • 1.3.3 尽量使用缩写属性
      • 1.3.4 每个选择器及属性独占一行
      • 1.3.5 省略 0 后面的单位
      • 1.3.6 避免使用 ID 选择器及全局标签选择器防止污染全局样式
    • (四) LESS 规范
      • 1.4.1 代码组织
        • 1) 将公共 less 文件放置在 style/less/common 文件夹
        • 2) 按以下顺序组织
      • 1.4.2 避免嵌套层级过多
    • (五) Javascript 规范
      • 1.5.1 命名
        • 1) 采用小写驼峰命名 lowerCamelCase,代码中的命名均不能以下划线, 也不能以下划线或美元符号结束
        • 2) 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风 格,必须遵从驼峰形式
        • 3) 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚, 不要嫌名字长
      • 1.5.2 代码格式
        • 1) 使用 2 个空格进行缩进
        • 2) 不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以 提升可读性
      • 1.5.3 字符串
      • 1.5.4 对象声明
        • 1) 使用字面值创建对象
        • 2) 使用字面量来代替对象构造器
      • 1.5.5 使用 ES6+
      • 1.5.6 括号
      • 1.5.7 undefined 判断
      • 1.5.8 条件判断和循环最多三层
      • 1.5.9 this 的转换命名
      • 1.5.10 慎用 console.log
  • 二、Vue 项目规范
    • (一) Vue 编码基础
      • 2.1.1. 组件规范
        • 1) 组件名为多个单词。
        • 2) 组件文件名为 pascal-case 格式
        • 3) 基础组件文件名为 base 开头,使用完整单词而不是缩写。
        • 4) 和父组件紧密耦合的子组件应该以父组件名作为前缀命名
        • 5) 在 Template 模版中使用组件,应使用 PascalCase 模式,并且使用自闭合组件。
        • 6) 组件的 data 必须是一个函数
        • 7) Prop 定义应该尽量详细
        • 8) 为组件样式设置作用域
        • 9) 如果特性元素较多,应该主动换行。
      • 2.1.2. 模板中使用简单的表达式
      • 2.1.3 指令都使用缩写形式
      • 2.1.4 标签顺序保持一致
      • 2.1.5 必须为 v-for 设置键值 key
      • 2.1.6 v-show 与 v-if 选择
      • 2.1.7 script 标签内部结构顺序
      • 2.1.8 Vue Router 规范
        • 1) 页面跳转数据传递使用路由参数
        • 2) 使用路由懒加载(延迟加载)机制
        • 3) router 中的命名规范
        • 4) router 中的 path 命名规范
    • (二) Vue 项目目录规范
      • 2.2.1 基础
      • 2.2.2 使用 Vue-cli 脚手架
      • 2.2.3 目录说明
        • 1) api 目录
        • 2) assets 目录
      • 3) components 目录
        • 4) constants 目录
      • 5) router 与 store 目录
        • 6) views 目录
      • 2.2.4 注释说明
      • 2.2.5 其他
        • 1) 尽量不要手动操作 DOM
        • 2) 删除无用代码

前端代码规范

规范的目的是为了编写高质量的代码,让你的团队成员每天得心情都是愉悦的,大家在一起是快 乐的。

引自《阿里规约》的开头片段:
----现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难 以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果
没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩 重复的坑,切实提升系统稳定性,码出质量。

一.编程规约

(一) 命名规范

1.1.1 项目命名

全部采用小写方式,以中线分隔。

正例:mall-management-system
反例:mall_management-system / mallManagementSystem

1.1.2 目录命名

全部采用小写方式, 以中划线分隔,有复数结构时,要采用复数命名法, 缩写不用复数。

正例: scripts/styles/components/images/utils/layouts/demo-styles/demo-scripts/img/doc

反例: script/style/demo_scripts/demoStyles/imgs/docs

【特殊】VUE 的项目中的 components 中的组件目录,使用 kebab-case命名。

正例: head-search/page-loading/authorized/notice-icon
反例:HeadSearch/PageLoading

【特殊】VUE 的项目中的除 components 组件目录外的所有目录也使用 kebab-case命名。

正例: page-one/shopping-car/user-management
反例: ShoppingCar/UserManagement

1.1.3 JS、CSS、SCSS、HTML、PNG 文件命名

全部采用小写方式, 以中划线分隔。

正例: render-dom.js/signup.css/index.html/company-logo.png
反例: renderDom.js/UserManagement.html

1.1.4 命名严谨性

代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的 英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用

正例:henan/luoyang/rmb 等国际通用的名称,可视同英文
反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

杜绝完全不规范的缩写,避免望文不知义:

反例: AbstractClass“缩写”命名成 AbsClasscondition “缩写”命名成 condi,此类随意缩写严重 降低了代码的可阅读性。

(二) HTML 规范 (Vue Template 同样适用)

1.2.1 HTML 类型

推荐使用 HTML5 的文档类型申明:

(建议使用 text/html 格式的 HTML。避免使用 XHTML。XHTML 以及它的属性,比如 application/xhtml+xml 在浏览器中的应用支持与优化空间都十分有限)。

 规定字符编码
 IE 兼容模式
 规定字符编码
 doctype 大写

正例:

<!DOCTYPE html>
<html><head> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta charset="UTF-8" /> <title>Page title</title> </head><body> <img src="data:images/company-logo.png" alt="Company"></body> </html>


http://www.taodudu.cc/news/show-5782677.html

相关文章:

  • 解决ubuntu 64位无法运行steam的问题
  • 夸克(神马)搜索引擎网址
  • 搜索引擎官网认证申请
  • 主流六大搜索引擎提交sitemap大全(网站地图)
  • 浅谈近年来各大搜索引擎平台有哪些
  • 自动生成表格html,js实现自动生成表格功能的代码实例
  • html在线表单生成器,表单生成器.html
  • 为什么“赢”字这么难写?
  • css样式的五种选择器
  • 数电、第五章
  • 【加密解密】阴符,阴书,字验
  • epic gameslauncher打不开,显示显卡需升级问题新的解决方法
  • 未能从hitman服务器,愤怒的小鸟 2无法连接服务器是什么原因
  • Windows10+GPU+Anaconda2+VS2013配置caffe
  • OAuth2 401 Bad Credentials Caused By Incorrect URL
  • java Struts2 过滤器和拦截器的区别
  • HITMAN,Life is Strange和适用于Linux的新游戏
  • 用计算机怎么弹刺客,Hitman Sniper上刺客攻略
  • 数组实现链表和双链表
  • 笔记----链表和数组有什么区别,在什么时候应该使用链表/数组?
  • 简单理解链表和数组
  • 格莱富笔记本电脑教你笔记本电脑闪屏的解决方法
  • 制作通讯录
  • Mac 将恢复系统添加到目的磁盘时发生错误
  • 简单几步让你的 Mac 系统恢复如新
  • spring常见话题
  • 明十三陵
  • 哈佛商业评论:元宇宙改变人类工作模式的四种方式
  • 可达鸭冲冲冲:学习HTML的笔记
  • 计算机毕业设计Python+uniapp基于微信小程序校园心理咨询(小程序+源码+LW)

前端代码开发规范总结相关推荐

  1. 前端代码开发规范。web开发规范。web开发注意事项。前端开发如何写出更规范的代码

    一.图片观看: 二.文字描述: 1,web开发基本原则:     1.结构html,样式css,行为js:三者要分离,尽量确保文档和模板只包含HTML结构,样式都放到样式表里,行为都放到脚本里;   ...

  2. 浅析:前端模块化开发规范

    浅析:前端模块化开发规范 早期的模块化解决方案 NameSpace:命名空间模式 匿名闭包:IIFE模式 模块模式:IIFE+依赖传参 ES6之前的模块化解决方案 CommonJS模块化规范 AMD模 ...

  3. Web前端工程师开发规范必须要注意的事

    Web前端工程师开发规范必须要注意的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范 ...

  4. eclipse java代码某一行需要修改注释_看看这些Java代码开发规范吧!你好,我好,大家好!...

    作为一名开发人员,当你接手他人的项目时,且当你阅读他人的代码时,是有没有遇到脑袋充血,感觉Java要把你"送走"的感觉呢?我们在用Java开发技术进行开发前,一定要牢牢恪守Java ...

  5. 前端规范 - 前端项目开发规范

    0 前言 好好做业务,提高自己的工程能力 [强制] 1 开启eslint 根据团队的习惯,制定适合自己的rules 比如 no-console no-debugger可以关闭 [强制] 2 新项目使用 ...

  6. WEB前端代码书写规范

    WEB前端代码书写规范 1. 命名规范 a.ClassName命名 ClassName的命名应该尽量精短.明确,必须以单页面字母开头命名,且全部字母为小写,单词之间统一使用下划线 "_&qu ...

  7. Web前端设计开发规范

    前言 本文主要整理了Web前端设计开发的相关规范,主要由网络收集,希望对大家在Web设计和开发的过程中有一些帮组. 目录 一.界面设计规范细则 二.CSS编写和命名规范 三.JavaScript编程规 ...

  8. 前端代码风格规范总结

    本文转自http://www.cnblogs.com/qinyi173/p/7150644.html 规范目的:为了提高工作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,在网站建设中 ...

  9. java代码开发规范

    一  编码规范 1.1      命名规范 代码中的命名均不能以特殊字符(如下划线.$#符号)开始或结束. 反例: _name / #Object 2. 代码中的命名严禁使用拼音与英文混合的方式,更不 ...

最新文章

  1. [您有新的未分配科技点]可,可,可持久化!?------0-1Trie和可持久化Trie普及版讲解...
  2. Fedora 安装WIN字体(如 宋体)
  3. Linux TCP/IP中L4L3的实现框架:udp send部分
  4. matlab 特征值不排序,matlap 代码求解释!从这里开始即可%对特征值进行排序并去掉...
  5. 解决PD17虚拟机安装时出现 “操作失败 执行该操作失败”的方法
  6. 帮助文档的制作(控制台、eclipse两种方式)
  7. 【转载】shell实例手册
  8. 微信潜规则:月薪过万的90后,过年都在看什么?
  9. 企业级备份方案系列PART3:SCDPM 2012备份/恢复Exchange2010
  10. 计算机自带的桌面远程,如何远程控制电脑桌面
  11. python读二进制文件博客园_python二进制读写文件
  12. 【转载】Linux下rz,sz与ssh的配合使用
  13. 微软MED-V虚拟化实战教程之二映像准备和测试
  14. 2019级软件工程应用与实践-人工智能快递柜(代码分析11)
  15. Bootstrap 表格内容水平、垂直居中
  16. 网站流量可视化分析--页面指标分析、访问量分析
  17. MySQL数据库(九) 集群 Cluster 和性能优化
  18. 在VisualStudio中使用EF操作Firebird数据库
  19. 向量化执行引擎是怎么玩的?
  20. 硬盘健康状态、温度、通电次数、写入量和序列号检查软件

热门文章

  1. php undefined symbol: zip_libzip_version报错
  2. opencv入门基础(七)基于dlib进行本地图片、实时人脸检测
  3. swiper做宣传画册——swiper动画
  4. ubuntu安装ssh
  5. 提升客户体验最基础的入门,老板你知道吗?
  6. 美国2003-2015年道路交通事故数据及毕业论文
  7. 针对ntlmssp攻击的本机安全攻防记(第一回)
  8. 今天的黑障并不可怕的耍酷
  9. linux mysql编译参数,适合MySQL的Xeon 55XX系列CPU编译参数
  10. HotPDF Delphi PDF VCL完全形成PDF文档