在线客服
扫描二维码
下载博学谷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、避免重复
几乎所有程序员都知道要避免拷代码,但是拷代码这个现象还是不可避免的成为了程序可维护性的杀手。无论何种重复,都在一定程度上说明了程序员的水平有问题。另外,除了代码重复之外,很多热衷于维护代码质量的程序员新人很容易出现信息重复。随着项目的演进,无用的信息会越积越多,最终甚至让人无法分辨哪些信息是有效的,哪些是无效的。
总的来说,程序员想要避免写出烂代码其实要考虑很多方面的问题。当然,一些人可能会想,写好代码这么费劲还不如写烂代码糊弄一下得了。但是如果每次敲代码都只是这样糊弄了事,久而久之你就会发现自己的能力在工作中并没有得到提升,职业瓶颈和危机也就此来了。因此,程序员想要提升自己的职业竞争力,应该从避免写出烂代码开始。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
程序员的开发能力如何被面试官甄别?
程序员对于人多来说那就是一个神秘的组织,高薪、加班多都是对他们的专有评价,如果判断他们的能力呢?面试程序员也是面试官的常规工作内容之一,面试程序员对于面试官本身具有较高的技术要求,能够对所面试的岗位具有丰富的技术积累。
8410
2019-05-28 10:37:38
华为认证网络工程师值得考吗
有许多人认为现在的证书都泛滥了,华为认证网络工程师值得考吗?答案是肯定的。华为认证HCIE是相对比较难考的,因为考取的过程时间长,需要进行笔试、实操和面试,层层的选拔足以证明这个证书含金量很高。下面小编带大家仔细分析为什么华为认证网络工程师值得考。
10135
2019-07-05 16:07:28
程序员应该选择去大公司还是小公司?
在程序员的职场生涯中,总会面临着许多的选择。今天我们要讨论的问题是,程序员应该选择去大公司还是小公司?其实这个问题没有一个固定的答案,适合自己的才是最重要的。尤其对许多人来讲,进大公司的门槛高,我们常常不能主动的选择大公司。当然 ,这也不是说在大公司的发展一定就好,下面我们一起来分析一下进大公司和小公司的利弊。
6148
2020-03-03 21:45:34
零基础转行IT学什么好?
IT岗位普遍高于传统行业的薪资水平,吸引了不少零基础的转行者。然而许多转业者一开始都难免面临这样的问题:零基础转行IT学什么好?IT技术岗位一般大致分为开发、测试和运维。随着软件产业的发展,这三种岗位都变得同样重要,技能要求也越来越广泛。比如测试岗位如今也要求具备一定的编程能力。因此,不管你选择什么岗位,只要技术过硬,都有着极大的发展前景。下面我们就来逐一分析适合零基础学习的IT技术。
5411
2020-07-24 16:33:40
传智博学谷“狂野系列”在线课程成绩单喜人
传智博学谷“狂野系列”在线课程成绩单喜人,IT互联网行业发展快速,技能知识点更新迭代较快,程序员们保持学习才能在行业中具有核心竞争力。程序员为了寻求更高的职级和更好的待遇,采用最多的方式是学习热点技术。
2959
2022-04-19 13:51:40