1.众所周知:达成同样的功能所用的代码越少工程师越强,所以我们的变量名命越短越好。
Good 👍🏻
const a = 'xiaoli';
const b = 12;
Bad 👎🏻
const userName = 'xiaoli';
const userAge = 12;
2.众所周知:前端页面请求的静态资源越少速度越快,所以我们的代码要尽量写在一个文件里,文件行数越长越好。
Good 👍🏻
Bad 👎🏻
3.众所周知:机器是二元判断的,只知道是或否,所以写代码时候只用if语句是机器最好理解的。
Good 👍🏻
if(res.status === '200') {
// do something
} else if(res.status === '404') {
// do something
} else if(res.status === '500') {
// do something
} else {
// do something
}
Bad 👎🏻
// bad one
switch (res.status) {
case '200':
// do something
break;
case '404':
// do something
break;
case '500':
// do something
break;
default:
// do something
}
// bad two
const statusMap = {
'200': ok,
'404': notFound,
'500': error
};
statusMap[status]();
4.众所周知:客户是不会打开控制台的,所以程序员一定要尽情的在线上打log。
Good 👍🏻
const work = dataSource => {
console.log(dataSource);
setDataSource(dataSource);
};
Bad 👎🏻
const work = dataSource => {
setDataSource(dataSource);
};
5.众所周知:开发是一个玄学的过程,这次没用到的代码下次没准就用到了,所以无用的代码一定不能删除,最多注释掉。
Good 👍🏻
// const initConfig = {};
const defaultConfig = {};
run(defaultConfig);
Bad 👎🏻
const defaultConfig = {};
run(defaultConfig);
6.众所周知:如果代码有问题,别人会联系文件的注释里author,所以一定要记得把author写成你的leader,毕竟为伙伴尽力这种事,值得赞扬。
Good 👍🏻
/**
* @file XXX组件
* @author 你的leader(你leader的邮箱)
* @date 你写下这段代码的日期
*/
Bad 👎🏻
/**
* @file XXX组件
* @author 你自己(你自己的邮箱)
* @date 你写下这段代码的日期
*/
7.众所周知:一个人一生最多写八千万行代码,谁先写完谁先走,所以像readme这种东西,能不写就不写。
Good 👍🏻
Bad 👎🏻
8.众所周知:看不懂的代码才是好代码,所以常量魔数什么的直接写就行了。
Good 👍🏻
post(url, {type: 1});
Bad 👎🏻
const PAYING_USER_TYPE = 1;
post(url, {type: PAYING_USER_TYPE});
9.众所周知:如果你的样式没生效,一定是优先级不够高,just use important!
Good 👍🏻
.content {
margin-top:20px !important;
}
Bad 👎🏻
.container {
.content {
margin-top:20px;
}
}
10.众所周知:页面都报错了还有啥课处理的,所以try catch的catch分支根本不需要处理。
Good 👍🏻
try {
// do something
} catch(error) {
}
Bad 👎🏻
try {
// do something
} catch(error) {
// 提醒用户报错
setErrorMessage(error.message)
// 打进错误日志
logError(error)
}
重要提示!
好吧我摊牌了,上面都是我瞎编的,以上的十条原则请伙伴们务必要以相反的角度来理解所有观点,这样就能避免写出垃圾代码。
当然,以上十条烂代码原则还只是浅尝辄止,如果伙伴们发现有一些难以忍受的烂代码习惯,请评论,这样也好让我出个《气leader2》😂😂😂
(不会吧不会吧,不会真的有人用上面的[good]里的代码写代码吧,那你可真棒,请找HR领取大礼包~)