不要掉入大多数开发人员都踩过的坑。
作者 |Daan
译者 | 弯月,责编 | 屠敏
出品 | CSDN(ID:csdnnews)
以下为译文:
英国作家奥斯卡·王尔德曾说过,人们给自己犯过的过错取名叫做经历。因而,可想而知,经历不足的开发人员还有许多未曾踩过的圈套。在本文中,我会给你讲讲一些最常见的圈套,以避免你也重蹈覆辙。
大多数的开发人员都踩过本文说到的这些坑。你能够把本文当作主张,期望你能从中获益—— 特别是假如你仍是一位相对缺乏经历的开发人员。
从头完成API中已有的代码
大多数开发人员都会运用某种结构来减轻作业的担负。关于没有运用该结构经历的开发人员来说,把握结构的API供给的一切功用十分困难。
因而,他们常常会从头完成API中已有的某些代码。没有经历的开发人员更有或许踩这个坑的原因有两个。
榜首,由于缺乏经历,这些开发人员不了解API中有哪些开箱即用的功用。所以他们会白白浪费时刻来编写结构中已有的代码。由于缺乏经历,所以他们无法充沛地运用结构。
第二,缺乏经历的开发人员不知道去哪儿找相应的文档。更有甚者,有人底子不看文档。
关于没有经历的开发人员来说,这是一个圈套,由于从头创立相同的功用好像很诱人。有些函数只需重写几行代码即可。别的,重写这几行代码也不需求花费太多时刻。但重写相同的代码有必定的坏处:形成代码库持有重复且未经测验的代码;由于新函数的引进,代码会愈加杂乱;其他开发人员不熟悉这个函数,并且也不理解你为什么要引进这个函数。从全体来看,你的这一行为添加了杂乱性,却没有充沛的理由。
简略的问题不要杂乱化
有时开发人员会遇到量力而行规模之外的作业。问题在于经历丰富的开发人员知道何时供认这一点。有经历的开发人员会设法尽量简化作业,而没有经历的开发人员则很难把握火候,有时会做过头。
其间一个原因在于,缺乏经历的开发人员往往急于向团队的其他成员证明自己。他们会用各种乖僻的手法来完成代码,比方乖僻的单行小程式、过于杂乱的笼统等。这会导致技能债款不用要地添加。
这种圈套会加重代码的杂乱度。实践上,咱们应该尽量坚持简略。经历丰富的开发人员都会遵从KISS准则:Keep it simple, stupid(坚持简略和愚笨),换句话来说,“简略便是美”。添加技能债款只会下降代码的可阅览性,添加保护的难度。
悄悄地吞掉过错
悄悄地吞掉过错是缺乏经历的开发人员最常犯的一个过错。
有一次,一位相对缺乏经历的开发人员在尽力修正一个“查询无效”的过错。该查询会检查产品是否仍有库存,且会回来一个数值。
这儿会出bug是由于传递给查询的并非数值,而是一个空值。所以这个查询看起来就像下面这样:
这当然会报错。但是,这位缺乏经历的开发人员“修正”了这个bug,办法是将传递给查询的变量转化成了整数。尽管查询的语法有用,但这并没有解决问题。
这位缺乏经历的开发人员没有清查问题的本源,而是挑选在最底层“修正”bug,当然他们彻底没有歹意。
但是,正确地修正这个bug的办法是,清查为什么会将null值传递给这个查询,然后修正。引发这个问题的原因或许是由于供给有关库存信息的API出了问题。假如是这种状况,那么或许底子不应该履行查询。实践问题或许与查询无法正常作业彻底无关。
悄悄地吞掉这个过错,只会导致过错的真实原因被掩盖。缺乏经历的开发人员往往会从语法的视点来“修正bug”,但这种做法会吞掉实践的过错。
过度自傲
假如你问一个过度自傲且缺乏经历的开发人员,某个使命或用户故事需求多长时刻能做完,他会尽或许地告知你一个最短的时刻。假如你问过度自傲的开发人员是否写了测验,他会告知你没有必要。他会说他的代码不或许有bug,不或许出问题。
假如你觉得自己的榜首份作业就一窍不通,那么就大错特错了。假如你分明什么都不理解,却没有自知之明,那么才是真的可悲。这才是大多数缺乏经历的开发人员身上最大的问题。
你要学会谦善,虚心接受建设性的批判。从经历丰富的开发人员那里获取主张,这样才有助于本身的生长。有决心是功德,但过为己甚。
仅测验正面测验用例
缺乏经历的开发人员通常会专注交给功用或用户故事。这便是所谓的高兴之路。但是,功用或用户故事需求测验。经历不足的开发人员和经历丰富的开发人员在这点上有很大的不合:没有经历的开发人员只会测验用户应有的操作,而经历丰富的开发人员也会为边际事例编写测验。
仅测验正面测验用例是很单纯的做法。用户具有不行猜测性,而你需求测验的也不仅仅是正面测验用例。
换东西
具有适宜的东西,并娴熟的把握能够为你的日常作业节约很多时刻。你应该花一些时刻找到适宜的东西。在寻觅东西时,你应该挑选能够完成其许诺的东西。
假如你有适宜的东西,那么就应该坚持运用下去。不要每周都换东西。你需求必定的时刻来了解并把握这些东西。
别的,你还应该潜心研究某个优异的IDE,由于你作业的大部分时刻都需求运用IDE。了解键盘快捷键以及怎么运用代码片段,并创立自己的代码片段能够加速日常作业。
此外,你还应该学习怎么调试。挑选带有某种调试器的IDE,能够便利你检查一切的变量值。这有助于你更好地把握现在的状况,并为你节约很多的调试时刻。
只重视技能,不重视事务
没有经历的开发人员还没有把握他们的技能栈,因而大多数人都倾向于专注学习技能栈,却对事务视若无睹。为了成为技能栈的大师,熟知事务十分重要。你需求理解为什么要构建这些功用。
有些开发人员只对作业中的技能方面感兴趣。他们不关心那些造就了自己地点岗位的商业或经济要素。
你究竟是在为企业发明价值,仍是在一些无关紧要的工作上浪费了太多时刻?你需求搞清楚这个重要的问题。
原文:https://medium.com/better-programming/the-most-common-pitfalls-for-an-inexperienced-developer-c3636a1b5656
本文为 CSDN 翻译,转载请注明来历出处。