【前端学习记录】Vue前端规范整理
2023-12-14 22:31:08
前言
优秀的项目源码,即使是多人开发,看代码也如一人之手。统一的编码规范,可使代码更易于阅读,易于理解,易于维护。
一、文件及文件夹命名
- 不能使用中文、数字(需要数字是用英文first、second字符代替)
- 文件名使用全小写
- vue、css、js、jpg等图片格式多单词文件名使用中划线-代替
-eg: big-mom.jpg
二、钩子顺序
name
components
mixins
props
data
computed
filters
watch
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
activated
deactivated
beforeDestroyed
destroyed
errorCaptured
methods
三、注释规范
为组件中每一个方法编写方法说明,以下情况,务必添加注释
- 1、公共组件使用说明
- 2、各组件中重要函数或者类说明
- 3、复杂的业务逻辑处理说明
- 4、特殊情况的代码处理说明,对于代码中特殊用途的变量、存在临界值、函数中使用的hack、使用了某种算法或思路等需要进行注释描述
四、组件封装
代码可封装时,要及时封装组件,尽量避免一个index文件出现超过1000行;
五、CSS编码规范
-
1、选择器命名
全英文小写(尽量不要用中文拼音命名)
使用中划线分割多单词的选择器名
禁止使用下划线(修改element自带样式除外) -
2、空格
‘{’前留一个空格;
‘:’后留一个空格;
句末不留多余的空格; -
3、每个属性声明末尾都要添加分号(单元内统一)
.click-btn {
width: 100px;
}
- 4、换行
‘{’后和‘}’后换行
多个规则的选择器用‘,’分割并换行
.aa,
.bb {
color: red;
}
- 5、属性声明顺序
1)定位:position\z-index\top\right\bottom\left\clip
;
2)盒子模型:width、height、min-width、max-height、min-height、max-height、margin、padding;
3) 文字:font、font-size、font-weight、text-align
4) 背景:background-image
5) 其他:animation、transition等
- 6、属性缩写
1)属性合并,包括有margin、padding、border、background等
// bad
.aa {
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
margin-top: 10px;
margin-left: 20px;
}
// good
.aa {
padding: 5px 5px 5px 0;
margin: 10px 0 0 20px;
}
2)0符号缩写
0px直接写成 0;
- 7、性能优化
优先使用class,禁止使用行内样式,也就是在dom节点中写入style=,规避这种写法的用意在于行内样式不易于维护、不可复用、扩大HTML容量。除非特殊情况(-webkit-box-origin stylus 无法解析只能写在行内样式中等)
禁止使用标签选择器。规避这种写法的用意在于CSS解析是从右到左的,如果使用标签选择器,则css渲染会花费很多性能。另外会影响所有该标签选择器的元素样式,导致,导致特殊情况需要样式重置,不利于维护。
.span {}
- 8、模块化命名
样式选择器命名以模块为单位,以下是一个box模块
<div class="box">
<p class="title">
title
</p>
<div class="content">
<i class="icon"></i>
<p class="text">content</p>
</div>
</div>
css模块化命名
.box {}
.box .tltle {}
.box .content {}
这样命名的好处是,知道该整块的整体样式,易于维护模块迁移或者删除,并且每个样式块都有前缀,不会被覆盖。
- 9、模块样式跟其他模块之间要空一行,便于维护
<!-- 这里是box2模块 -->
.box {}
.box .tltle {}
.box .content {}
<!-- 这里是box2模块 -->
.box2 {}
.box2 .tltle {}
.box2 .content {}
- 10、公共样式有的,不单独重写样式
- 11、尽量少用 !important
- 12、单独vue文件样式引用加scoped
- 13、非公共样式命名时,类名尽量不要太常见(举例:常见的如:“title”,可以采用“instance-title”),避免浏览器缓存对样式造成的影响
六、JS编码规范
- 1、使用驼峰式变量命名、属性
- 2、常量使用全大写,使用下划线“_”作为单词分割
- 3、总是使用分号,句末习惯性加上分号
- 4、使用2个空格缩进
- 5、冒号、逗号、小括号、大括号后总是使用空格符
// bad
let arr={a:1,b:2,c:3}
function foo(){}
// good
let arr = {
a: 1,
b: 2,
c: 3,
};
function foo() {}
- 6、构造函数命名使用驼峰式切第一个字母大写
function BookDesk() {}
- 7、总是使用花括号
// bad
if (true) return;
// good
if (true) {
return;
}
- 8、使用换行将逻辑相对独立的两块代码隔开
- 9、比较变量使用
===
代替==
; - 10、条件种类超过3种时,使用switch代替if
- 11、使用forEach代替for循环
- 12、函数作用域中的私有函数需要加上_
文章来源:https://blog.csdn.net/Note_creek/article/details/134925285
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!