在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
一个优秀的程序员应该要求自己尽量写出好代码,众所周知,好的代码应该符合逻辑清晰,易于维护,整洁简单,性能优化等优点。而完全与之相反的就是我们所说的烂代码。那么,我们应该如何避免写出烂代码呢?本文将为大家总结出十条避坑准则,希望可以帮助程序员们写出更加优美简洁的代码。
1、不要混合不同的格式
程序员在写代码时要注意不要混合不同的格式,例如单引号或双引号就不能混用。尤其是在它们的语义相同的时候,也千万不能混用。
2、不要把代码写成一行
3、不要忽视发现的错误
错误也是一种逻辑分支,如果不处理的话,代码就不够健壮。前端代码处理错误的方式一般为提示用户有异常发生。如果错误不影响业务流程,则写入日志里并上报。因此关于错误的正确处理态度是,当你发现某些错误时,需要让其他人也了解它,因此需要打印出日志或 Traceback。
4、代码需要做特定测试
测试的重要性这里就不在赘述了,大家千万别以为测试仅仅只是重复且无意义的工作。毕竟通过测试我们才能发现许多的问题。
5、不要使用除英语外的语言注释
注释是程序很重要的部分,可以说是理解一个工程或项目的途径之一。注释的重要性大家都知道,但是写注释的时候,一定要注意不要使用除英语外的其他语言。
6、不考虑业务模型
现在都是敏捷开发,导致程序员也变得浮躁了,不分析或者草率分析需求,拿到就是干,随着业务迭代,开发人员增加,每个人各写一套,关于一个名词的定义都能有好几套写法,sql查询可能会分散到好多repo中,相同的sql可能会在不同的地方写上好几遍。关键是发现之前的模型定义错了,数据库的ER图设计有问题,仍然不会去更改,因为总是有新的需求会来,然后拼了命的做需求,留下一堆烂代码无法维护,最后连自己都不想看。
7、不要使用陈旧的 API
陈旧的 API 往往有很多问题,比如安全、性能、不易读等。
Array.isArray(array)
array.find(a => a % 2 === 0);
Object.keys(obj).forEach(console.log)
'some text'.includes('some')
' some text '.trim()const array = [];const obj = {};
8、不要用字符串拼接url
字符串拼接 url 需要处理 encode 或者 decode 的情况,还有对于 ?和 # 的判断不对的话,很容易造成漏洞或者 Bug。目前浏览器和 Node 都已经提供了标准的 URL 解析方法。
9、if 条件逻辑嵌套不要超过三层
避免这么做的道理很简单,过深的嵌套会导致理解困难。因此解决办法就是合并判断条件,或者独立成函数。
if (status = Opened && type = 'array' &&code = Success) {
doSomething();
}
10、避免重复
几乎所有程序员都知道要避免拷代码,但是拷代码这个现象还是不可避免的成为了程序可维护性的杀手。无论何种重复,都在一定程度上说明了程序员的水平有问题。另外,除了代码重复之外,很多热衷于维护代码质量的程序员新人很容易出现信息重复。随着项目的演进,无用的信息会越积越多,最终甚至让人无法分辨哪些信息是有效的,哪些是无效的。
总的来说,程序员想要避免写出烂代码其实要考虑很多方面的问题。当然,一些人可能会想,写好代码这么费劲还不如写烂代码糊弄一下得了。但是如果每次敲代码都只是这样糊弄了事,久而久之你就会发现自己的能力在工作中并没有得到提升,职业瓶颈和危机也就此来了。因此,程序员想要提升自己的职业竞争力,应该从避免写出烂代码开始。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
IT是什么行业?IT行业发展史
IT是什么行业?IT行业发展史。IT是Information Technology英文的缩写,全称含义为“信息技术”涵盖的范围很广,主要包括:现代计算机、网络通讯等信息领域的技术。IT互联网技术是指在计算机技术的基础上开发建立的一种信息技术。互联网技术的普遍应用,是进入信息社会的标志。在不同的场景中对此有不同解释。
10607
2019-07-29 17:03:17
软件工程师要学哪些知识?难不难?
软件工程师要学哪些知识?难不难?作为互联网行业中最重要的技术岗位,软件工程师需要学习的内容十分广泛且深入,学习难度可想而知。当然,软件工程师也并不是大家想的那样十八班武艺样样精通。比如对英语水平的要求并不高,也不一定要学习多么深奥的数学知识。下面我们一起来看看想要成为一名合格的软件工程师需要学习的具体内容。
11399
2020-04-27 17:05:16
学历背景对IT程序员影响大不大?
互联网发展不断成熟人才结构发生了一定的变化,211、985高校本科学历纷纷受到社会追捧,其他学历的生存空间变得越来越小,高学历意味着可以拥有更多选择的权利。许多互联网大厂看重学历并非是出于歧视,而是为了提高效率节约成本。
3829
2021-06-01 16:33:15
校招或应届生如何拿到好offer
应届生可能没有太多的项目经验,但这并不意味着在面试的时候可以眉毛胡子一把抓,你同样需要注意很多细节才能够在众多的毕业生中脱颖而出,最后拿到你想要的offer。
2388
2022-10-14 18:08:19
简历加分-4步写出HR想要的简历
有的同学会说:现在知识点的“八股文”我已经背下来了,并且大部分的知识点,我都去尝试着做了一下。那我可以直接去投简历了吧? 是的,可以去投简历了,但是请你先思考一个问题:一个大公司的HR,一天可能要收几百上千封的简历,那他凭什么就会把你的简历留下来然后推荐给相关的负责人呢?
2633
2022-11-18 16:55:26