最近碰到很多很多及其不规范的代码,看的简直会爆炸,重复代码、疯狂ifelse语句、逻辑语句不做模块,文件乱扔不整理类别等等,那么这篇文章我就去讲一些,怎么去注意或者实现我们的前端团队的规范化呢?
点击进入 自建博客原文链接
先来看图:
看完图片了,我们先平复下心情!!!
好,现在继续说文章吧。
在某次 Code Review 时,发现你的代码是如下这样子的;
问:如果 Leader 让你优化,你会如何优化呢?
你是选择无视他(Leader),还是无视它(Code)?
// 点击定位按钮,获取县市地址方法
const clickDw = function(type) {
let dz
// 地址列表
let dzTable = ['北京市','上海市', '广州市', '深圳市']
if(type === 1 || type === 2 || type === 3) {
// do something
return dz
} else if (type === 4 || type === 5) {
// do something
return dz
} else {
// default
return dz
}
}
我认为是不是可以从这几方面入手:
1.命名是否规范?
2.if 判断是否可以简化?
3.亦或还有其它优化空间?
4.你觉得还有其它优化空间吗?
// 我修复了一下,嘿嘿
// 点击定位按钮,获取县市地址方法
const getLocation = function(type) {
let address
// 地址列表
let addressList = ['北京市','上海市', '广州市', '深圳市']
if([1, 2, 3].includes(type)) {
// do something
return address
}
if ([4, 5].includes(type)) {
// do something
return address
}
// default
return address
}
}
我相信许多中小型公司都会面临下面几个问题:
正是由于这些问题的存在,从而 影响到团队之间的协作,使团队的效率整体降低,严重的甚至会影响团队和谐;
可想而知 牵一发而动全身 究竟有多大力量了吧!
其实作为一名 “优秀” 的程序员,写的代码无论是可读性、可维护性 还是可复用性 都是必不可少的;
那么如何去写 可读性、可维护性、可复用性 的代码呢?
就值得我们每个人深思熟虑了;
规范包含的内容有许多,不同公司在针对现有团队所做的规范标准或许会有出入;
但无论是技术栈的统一,还是代码质量的把控,还是 Git 的钩子函数,亦或者团队文档的输出等等,其实都可以归纳至规范的范畴;
所以咱们可以这么定义(仅限博主的理解):
在日常开发中,任何能 提高代码可维护性、降低代码理解成本、降低代码的容错率 和 提高项目可扩展性 的统一标准,称之为 规范标准;
因为文章主要讲的是与前端相关,所以下面所述主要是前端相关的主题;
命名很重要,我相信每位工程师都能明白其中的重要程度;
1.驼峰式命名法介绍:
2.文件资源命名:
usr/dev/document/front-end/project-vue3
3.变量命名:
4.函数:
// 更新用户信息
function updateUserInfo(){
return {};
}
// 获取用户信息
function getUserInfo{
return {};
}
5.css 命名:
.super-card {
font-weight: 600;
}
我们在创建vue项目的时候,脚手架会自动帮我们生成几个文件,比如说pages,assets等等,我们也会去创建一些比如util, components,api等。我最近接手的代码,订单模块在ui/mine/order内,但是这个order文件夹内有30多个.dart文件,里面还有一个文件夹view用来放置组件,我惊呆了。其实可以针对业务拆分成 order/list , order/search, order/detail, order/refund,再对各自的细分模块内建对应的数据模型和组件文件夹,所以,当业务扩充起来的时候,文件规范还是有必要的。就算不扩充,文件规范也要做起来。
请选出下列合适的答案:
到底是用 TypeScript 还是 JavaScript ?
到底是用 Vue 还是 React ?
到底是用 Less 还是 Sass ?
到底是用 Webpack 还是 Vite ?
到底是用 Koa 还是 Express ?
do some…
其实我相信不同的人肯定都有不同的答案,因为在不同的公司技术栈肯定是不一致的,技术栈不仅取决于领导的拍案叫板,也取决于业务的支持,所以会出现同一个业务部门会有不同的技术栈的情况;
我们公司选择的答案:
为什么用 TypeScript 而不用 JavaScript 呢?
为什么用 Vue而不用 React ?
为什么用 Sass 而不是 Less ?
Sass 功能齐全;
为什么用 Webpack 而不是 Vite?
TIPS:使用新技术前要考量其学习成本、带来的收益以及存在的风险等等,切勿盲目追行情。就比如说最近又出了一个Turbopack,比vite快10倍,不是不想用,是技术迭代太快了吧,根本学不过来!!!!
为什么需要编程规范?
实际开发中因为没有规范而导致的问题真的不要太多太多;有因为 JavaScript 不规范的,也有因为 CSS 不规范的;
但是我们究其原因,无非就是没有一个所谓的统一标准而导致;
正所谓:无规矩不成方圆,有了规范才有好的团队~
编程规范的意义:
为什么要 Git 规范?
如何去做 Git 规范?
Git Commit 规范
// 这事我本人一直在用的规范
feat:新功能 feature
bug:测试反馈 bug 列表中的 bug 号
fix: 修复 bug
ui:更新UI;
docs: 文档注释变更
style: 代码格式(不影响代码运行的变动);
refactor: 重构、优化(既不增加新功能,也不是修复bug);
perf: 性能优化;
release:发布;
deploy:部署;
test: 增加测试
chore: 构建过程或辅助工具的变动
revert: 回退
build: 打包
scope 表示 commit 的作用范围,如用户中心、购物车中心,也可以是目录名称,一般可以限定几种;
subject 用于对 commit 进行简短的描述;
type 必填,表示提交类型,值一般有以下几种:
//如 [feat]增加用户中心的 xx 功能
//如 [fix]增加用户二维码的 xx 功能
统一格式:
其实还有很多 比如
其他的比如说前端测试规范,CR规范等等,单元测试没写过哈哈哈哈所以暂时先讲到这,大家也可以提提意见,我来补充文章。