建议收藏】编程&项目&团队规范

23 篇文章 0 订阅

编码规范

命名规范
  • 项目命名
    项目文件夹全部采用小写方式, 以中划线分隔。
    正例: mall-management-system
    反例: mall_management-system / mallManagementSystem
    
  • 目录命名
    基于业务二次封闭的组件全部采用小写方式, 以中划线分隔,有复数结构时,要采用复数命名法, 缩写不用复数
    正例: 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
    
    上面写了特殊是因为,对于这种规范有些团队(Vue-element-admin)用的并不是kebab-case相反他用的就是驼峰命名,但是一定不会用小驼峰命名
    
  • 静态资源文件命名
    JS、CSS、SCSS、HTML、PNG 等静态文件的命名全部采用小写方式, 以中划线分隔
    
    正例:render-dom.js / signup.css / index.html / company-logo.png
    反例:renderDom.js / UserManagement.html
    
    实例:
    在这里插入图片描述
  • 命名严谨性
    代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用
    
    正例:henan / luoyang / rmb 等国际通用的名称,可视同英文。
    反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3
    
    杜绝完全不规范的缩写,避免望文不知义:
    正例:getContractBaseInfo (获取合同基本信息) 如果函数名太长可以将重要部分写全, 修饰的简写成前四个
    反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,
    
HTML 规范 (Vue Template 同样适用)
  • HTML 类型
    建议使用 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="images/company-logo.png" alt="Company" />
    	</body>
    </html>
    
    - 缩进
    		缩进使用 2 个空格(一个 tab)嵌套的节点应该缩进。
    - 分块注释
    		在每一个块状元素,列表元素和表格元素后,加上一对 HTML 注释。注释格式
    - 引号
    		对于引号我一般是这样的, 结构、模板中的用双引号,js 中用单引号
    - 语义化标签
    		HTML5 中新增很多语义化标签,所以优先使用语义化标签,避免一个页面都是 div 或者 p 标签
    
    //语义化
    <header></header>
    <footer></footer>
    //非语义
    <div>
    	<p></p>
    </div>
    
CSS 规范
  • 命名
    - 类名使用小写字母,以中划线分隔
    - id 采用驼峰式命名
    - SCSS中的变量、函数、混合、placeholder 采用驼峰式命名
    
    ID 和 class 的名称总是使用可以反应元素目的和用途的名称,或其他通用的名称,代替表象和晦涩难懂 的名称
    
    /*不推荐*/
    .fw-800 {font-weight: 800;}
    .red {color: red;}
    /*推荐*/
    .heavy {font-weight: 800;}
    .important {color: red;}
    
  • 选择器
    - CSS 选择器中避免使用标签名
    	从结构、表现、行为分离的原则来看,应该尽量避免 css 中出现 HTML 标签,
    	并且在 css 选择器中出现 标签名会存在潜在的问题。
    - 很多前端开发人员写选择器链的时候不使用 直接子选择器
    	直接子选择器和后代选择器的区别有时的,这可能会导致疼痛的设计问题并且有时候可能会很耗性能。
    	然而,在任何情况下,这是一个非常不好的做法。如果你不写很通用的,
    	需要匹配到 DOM 末端的选择器, 你应该总是考虑直接子选择器。
    
    /*不推荐*/
    .content .title {font-size: 2rem;}
    /*推荐*/
    .content > .title {font-size: 2rem;}
    
    尽量使用缩写属性
    /*不推荐*/
    border-width: 1px;
    border-style: solid;
    border-color: red;
    /*推荐*/
    border: 1px solid red;
    
    避免使用 ID 选择器及全局标签选择器防止污染全局样式
    /*不推荐*/
    #header{height:500px;}
    /*推荐*/
    .header{height:500px;}
    
LESS/SCSS 规范

在这里插入图片描述
在这里插入图片描述

Javascript 规范

在这里插入图片描述

  • 函数方法常用的动词:
get 获取/set 设置,
add 增加/remove 删除
create 创建/destory 移除
start 启动/stop 停止
open 打开/close 关闭,
read 读取/write 写入
load 载入/save 保存,
create 创建/destroy 销毁
begin 开始/end 结束,
backup 备份/restore 恢复
import 导入/export 导出,
split 分割/merge 合并
inject 注入/extract 提取,
attach 附着/detach 脱离
bind 绑定/separate 分离,
view 查看/browse 浏览
edit 编辑/modify 修改,
select 选取/mark 标记
copy 复制/paste 粘贴,
undo 撤销/redo 重做
insert 插入/delete 移除,
add 加入/append 添加
clean 清理/clear 清除,
index 索引/sort 排序
find 查找/search 搜索,
increase 增加/decrease 减少
play 播放/pause 暂停,
launch 启动/run 运行
compile 编译/execute 执行,
debug 调试/trace 跟踪
observe 观察/listen 监听,
build 构建/publish 发布
input 输入/output 输出,
encode 编码/decode 解码
encrypt 加密/decrypt 解密,
compress 压缩/decompress 解压缩
pack 打包/unpack 解包,
parse 解析/emit 生成
connect 连接/disconnect 断开,
send 发送/receive 接收
download 下载/upload 上传,
refresh 刷新/synchronize 同步
update 更新/revert 复原,
lock 锁定/unlock 解锁
check out 签出/check in 签入,
submit 提交/commit 交付
push 推/pull 拉,
expand 展开/collapse 折叠
begin 起始/end 结束,
start 开始/finish 完成
enter 进入/exit 退出,
abort 放弃/quit 离开
obsolete 废弃/depreciate 废旧,
collect 收集/aggregate 聚集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Vue 项目规范
  • Vue 编码基础
    在这里插入图片描述
  • 组件规范
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 模板中使用简单的表达式
    在这里插入图片描述
  • 指令都使用缩写形式
    在这里插入图片描述
  • 标签顺序保持一致
    在这里插入图片描述
  • 必须为 v-for 设置键值 key
  • v-show / v-if / v-for 选择
    如果运行时,需要非常频繁地切换,使用 v-show ;如果在运行时,条件很少改变,使用 v-if。
    避免 v-for 和 v-if 一起使用,改用绑定为一个计算属性,在计算属性里过滤满足条件的数据
    
  • Vue options 顺序
    在这里插入图片描述
  • Vue Router 规范
    在这里插入图片描述
    在这里插入图片描述
    // 动态加载
    export const reload = [
      {
        path: '/reload',
        name: 'reload',
        component: Main,
        meta: {
          title: '动态加载',
          icon: 'icon iconfont',
        },
        children: [
          {
            path: '/reload/smart-reload-list',
            name: 'SmartReloadList',
            meta: {
              title: 'SmartReload',
              childrenPoints: [
                {
                  title: '查询',
                  name: 'smart-reload-search',
                },
                {
                  title: '执行reload',
                  name: 'smart-reload-update',
                },
                {
                  title: '查看执行结果',
                  name: 'smart-reload-result',
                },
              ],
            },
            component: () =>
              import('@/views/reload/smart-reload/smart-reload-list.vue'),
          },
        ],
      },
    ];
    

在这里插入图片描述

Vue 项目目录规范
  • 基础
    vue 项目中的所有命名一定要与后端命名统一。 比如权限:后端 privilege, 前端无论 router , store, api 等都必须使用 privielege 单词!

  • 使用 Vue-cli 脚手架
    使用 vue-cli3 来初始化项目,项目名按照上面的命名规范。

  • 目录说明
    目录名按照上面的命名规范,其中 components 组件用大写驼峰,其余除 components 组件目录外的 所有目录均使用 kebab-case 命名。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 注释说明
    在这里插入图片描述

  • 其他
    在这里插入图片描述

作者:前端自学驿站
链接:https://juejin.im/post/6888559622391595016
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值