共计 2483 个字符,预计需要花费 7 分钟才能阅读完成。
英国作家奥斯卡·王尔德曾说过,人们给本人犯过的谬误取名叫做教训。因而可想而知,经验不足的开发人员在编程路线上还有很多未曾踩过的坑。
在本文中,我会给你讲讲一些大多数开发人员都踩过的坑,心愿对你有所启发和帮忙,以避免你也吃一堑; 长一智。
1、从新实现 API 中已有的代码
大多数开发人员都会利用某种框架来加重工作的累赘。对于没有应用该框架教训的开发人员来说,把握框架的 API 提供的所有性能十分艰难。
因而, 他们经常会从新实现 API 中已有的某些代码 。没有教训的开发人员更有可能踩这个坑的起因有两个。
第一,因为缺乏经验,这些开发人员不理解 API 中有哪些开箱即用的性能。所以他们会白白浪费工夫来编写框架中已有的代码。因为缺乏经验,所以他们无奈充沛地利用框架。
第二,缺乏经验的开发人员不晓得去哪儿找相应的文档。
更有甚者,有人基本不看文档。
对于没有教训的开发人员来说,这是一个大坑,因为从新创立雷同的性能仿佛很迷人:有些函数只需重写几行代码即可。另外,重写这几行代码也不须要破费太多工夫。
但重写雷同的代码有肯定的弊病: 造成代码库持有反复且未经测试的代码; 因为新函数的引入,代码会更加简单;其余开发人员不相熟这个函数,而且也不了解你为什么要引入这个函数。从整体来看,你的这一行动减少了复杂性,却没有充沛的理由。
2、简略的问题不要复杂化
有时开发人员会遇到力不从心范畴之外的工作。问题在于经验丰富的开发人员晓得何时抵赖这一点。有教训的开发人员会设法尽量简化工作,而没有教训的开发人员则很难把握火候,有时会做过头。
其中一个起因在于,缺乏经验的开发人员往往急于向团队的其余成员证实本人。他们会用各种奇怪的伎俩来实现代码,比方乖僻的单行小程式、过于简单的形象等。这会导致技术债权不必要地减少。
这种陷阱会加剧代码的复杂度。实际上,咱们应该尽量放弃简略。
经验丰富的开发人员都会遵循 KISS 准则:Keep it simple, stupid(放弃简略和愚昧),换句话来说,“简略就是
3、悄悄地吞掉谬误
悄悄地吞掉谬误是缺乏经验的开发人员最常犯的一个谬误。
有一次,一位绝对缺乏经验的开发人员在致力修复一个“查问有效”的谬误。该查问会查看产品是否仍有库存,且会返回一个数值。
SELECT * FROM Products WHERE amountInStock> [数值]
这里会出 Bug 是因为传递给查问的并非数值,而是一个空值。所以这个查问看起来就像上面这样:
SELECT * FROM Products WHERE amountInStock>
这当然会报错。然而,这位缺乏经验的开发人员“修复”了这个 Bug,办法是将传递给查问的变量转换成了整数。尽管查问的语法无效,但这并没有解决问题。
这位缺乏经验的开发人员没有追究问题的本源,而是抉择在最底层“修复”Bug,当然他们齐全没有歹意。
然而,正确地修复这个 Bug 的办法是,追究为什么会将 NULL 值传递给这个查问,而后修复。引发这个问题的起因可能是因为提供无关库存信息的 API 出了问题。如果是这种状况,那么可能基本不应该执行查问。理论问题可能与查问无奈失常工作齐全无关。
悄悄地吞掉这个谬误,只会导致谬误的真正起因被覆盖。缺乏经验的开发人员往往会从语法的角度来“修复 Bug”,但这种做法会吞掉理论的谬误。
4、适度自信
如果你问一个适度自信且缺乏经验的开发人员,某个工作或用户故事须要多长时间能做完,他会尽可能地通知你一个最短的工夫。如果你问适度自信的开发人员是否写了测试,他会通知你没有必要。他会说他的代码不可能有 Bug,不可能出问题。
如果你感觉本人的第一份工作就无所不知,那么就大错特错了。如果你明明什么都不懂,却没有自知之明,那么才是真的可悲。这才是大多数缺乏经验的开发人员身上最大的问题。
你要学会虚心,虚心接受建设性的批评。从经验丰富的开发人员那里获取倡议,这样才有助于本身的成长。有信念是坏事,但过犹不及。
5、仅测试侧面测试用例
缺乏经验的开发人员通常会分心交付性能或用户故事。这就是所谓的高兴之路。然而,性能或用户故事须要测试。经验不足的开发人员和经验丰富的开发人员在这点上有很大的一致:没有教训的开发人员只会测试用户应有的操作,而经验丰富的开发人员也会为边缘案例编写测试。
仅测试侧面测试用例是很天真的做法。用户具备不可预测性,而你须要测试的也不仅仅是侧面测试用例。
6、换工具
领有适合的工具,并纯熟的把握能够为你的日常工作节俭大量工夫。你应该花一些工夫找到适合的工具。在寻找工具时,你应该抉择可能实现其承诺的工具。
如果你有适合的工具,那么就应该保持应用上来。不要每周都换工具。你须要肯定的工夫来理解并把握这些工具。
另外,你还应该潜心研究某个优良的 IDE,因为你工作的大部分工夫都须要应用 IDE。理解键盘快捷键以及如何应用代码片段,并创立本人的代码片段能够放慢日常工作。
此外,你还应该学习如何调试。抉择带有某种调试器的 IDE,能够不便你查看所有的变量值。这有助于你更好地把握目前的状况,并为你节俭大量的调试工夫。
7、只重视技术,不关注业务
没有教训的开发人员还没有把握他们的技术栈,因而大多数人都偏向于分心学习技术栈,却对业务熟视无睹。为了成为技术栈的巨匠,熟知业务十分重要。你须要明确为什么要构建这些性能。
有些开发人员只对工作中的技术方面感兴趣。他们不关怀那些造就了本人所在岗位的商业或经济因素。
你到底是在为企业发明价值,还是在一些无关紧要的事件上节约了太多工夫?你须要搞清楚这个重要的问题。
作者 | Daan
译者 | 弯月,责编 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
原文:https://medium.com/better-pro…
近期热文举荐:
1.1,000+ 道 Java 面试题及答案整顿 (2021 最新版)
2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!
3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!