首页 > 科技 >

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

2019-09-25 03:55:50 暂无 阅读:946 评论:0

作为初学者,你是否有犯过不知道有现成的API,而本身反复造轮子呢?本文作者详解七大新人法式员轻易犯的错,让人人吸取教训,不要反复掉入这些坑。

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

英国作家奥斯卡·王尔德曾说过,人们给本身犯过的错误取名叫做经验。是以可想而知,经验不足的斥地人员在编程道路上还有好多不曾踩过的坑。在本文中,我会给你讲讲一些大多数斥地人员都踩过的坑,进展对你有所开导和匡助,以防止你也重蹈覆辙。

一、从新实现API中已有的代码

大多数斥地人员都邑行使某种框架来减轻工作的肩负。对于没有使用该框架经验的斥地人员来说,把握框架的API供应的所有功能非常难题。

是以,他们经常会从新实现API中已有的某些代码。没有经验的斥地人员更有或者踩这个坑的原因有两个。

第一,因为缺乏经验,这些斥地人员不认识API中有哪些开箱即用的功能。所以他们会白白虚耗时间来编写框架中已有的代码。因为缺乏经验,所以他们无法充裕地行使框架。

第二,缺乏经验的斥地人员不知道去哪儿找响应的文档。更有甚者,有人基本不看文档。

对于没有经验的斥地人员来说,这是一个大坑,因为从新建立沟通的功能似乎很诱人:有些函数只需重写几行代码即可。此外,重写这几行代码也不需要破费太多时间。

但重写沟通的代码有必然的毛病:造成代码库持有反复且未经测试的代码;因为新函数的引入,代码会加倍复杂;其他斥地人员不熟悉这个函数,并且也不睬解你为什么要引入这个函数。从整体来看,你的这一勾当增加了复杂性,却没有充裕的来由。

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

二、简洁的问题不要复杂化

有时斥地人员会碰到力所能及局限之外的工作。问题在于经验雄厚的斥地人员知道何时认可这一点。有经验的斥地人员会设法尽量简化工作,而没有经验的斥地人员则很难把握火候,有时会做过甚。

个中一个原因在于,缺乏经验的斥地人员往往急于向团队的其他成员证实本身。他们会用各类新鲜的手段来实现代码,好比奇异的单行小程式、过于复杂的抽象等。这会导致手艺债务不需要地增加。

这种陷阱会加剧代码的复杂度。实际上,我们应该尽量连结简洁。

经验雄厚的斥地人员都邑遵循KISS原则:Keep it simple, stupid(连结简洁和愚蠢),换句话来说,“简洁就是美”。增加手艺债务只会降低代码的可阅读性,增加维护的难度。

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

三、沉寂地吞掉错误

沉寂地吞掉错误是缺乏经验的斥地人员最常犯的一个错误。

有一次,一位相对缺乏经验的斥地人员在起劲修复一个“查询无效”的错误。该查询会搜检产物是否仍有库存,且会返回一个数值。

SELECT* FROMProducts WHEREamountInStock> [数值]

这里会出Bug是因为传递给查询的并非数值,而是一个空值。所以这个查询看起来就像下面如许:

SELECT* FROMProducts WHEREamountInStock>

这当然会报错。然而,这位缺乏经验的斥地人员“修复”了这个Bug,方式是将传递给查询的变量转换成了整数。固然查询的语法有效,但这并没有解决问题。

这位缺乏经验的斥地人员没有追盘问题的根源,而是选择在最底层“修复”Bug,当然他们完全没有恶意。

然而,准确地修复这个Bug的方式是,追查为什么会将NULL值传递给这个查询,然后修复。激发这个问题的原因或者是因为供应有关库存信息的API出了问题。若是是这种情形,那么或者基本不该该执行查询。实际问题或者与查询无法正常工作完全无关。

沉寂地吞掉这个错误,只会导致错误的真正原因被袒护。缺乏经验的斥地人员往往会从语法的角度来“修复Bug”,但这种做法会吞掉实际的错误。

四、过度自信

若是你问一个过度自信且缺乏经验的斥地人员,某个义务或用户故事需要多长时间能做完,他会尽或者地敷陈你一个最短的时间。若是你问过度自信的斥地人员是否写了测试,他会敷陈你没有需要。他会说他的代码弗成能有Bug,弗成能出问题。

若是你感觉本身的第一份工作就无所不知,那么就大错特错了。若是你明明什么都不懂,却没有自知之明,那么才是真的可悲。这才是大多数缺乏经验的斥地人员身上最大的问题。

你要学会谦逊,虚心接管扶植性的指摘。从经验雄厚的斥地人员那边获取建议,如许才有助于自身的成长。此外想要成为一个精良的、有能力法式员,做软件斥地的话,就来进修C/C++吧!你若是感受自学C/C++说话有难题的话,有乐趣能够一路来筘羣进修,C/C++编程进修,七八四一四3133。不管你是转行照样找工作,人人都一路成长提高。有决心是功德,但矫枉过正。

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

五、仅测试正面测试用例

缺乏经验的斥地人员平日会用心交付功能或用户故事。这就是所谓的康乐之路。然而,功能或用户故事需要测试。经验不足的斥地人员和经验雄厚的斥地人员在这点上有很大的不合:没有经验的斥地人员只会测试用户应有的把持,而经验雄厚的斥地人员也会为边缘案例编写测试。

仅测试正面测试用例是很无邪的做法。用户具有弗成展望性,而你需要测试的也不光仅是正面测试用例。

六、换对象

拥有合适的对象,并熟练的把握能够为你的平常工作节约大量时间。你应该花一些时间找到合适的对象。在寻找对象时,你应该选择可以实现其承诺的对象。

若是你有合适的对象,那么就应该对峙使用下去。不要每周都换对象。你需要必然的时间来认识并把握这些对象。

此外,你还应该静心研究某个精良的IDE,因为你工作的大部门时间都需要使用IDE。认识键盘快捷键以及若何使用代码片段,并建立本身的代码片段能够加速平常工作。

此外,你还应该进修若何调试。选择带有某种调试器的IDE,能够轻易你查察所有的变量值。这有助于你更好地把握今朝的情形,并为你节约大量的调试时间。

七个编程开发者最容易踩的坑,听说部分初学者全中!你中了几个?

七、只留意手艺,不存眷买卖

没有经验的斥地人员还没有把握他们的手艺栈,是以大多数人都倾向于用心进修手艺栈,却对买卖置若罔闻。为了成为手艺栈的巨匠,熟知买卖非常主要。你需要领略为什么要构建这些功能。

有些斥地人员只对工作中的手艺方面感乐趣。他们不关心那些培养了本身地点岗位的贸易或经济身分。

你事实是在为企业缔造价格,照样在一些可有可无的事情上虚耗了太多时间?你需要搞清楚这个主要的问题。

那么,你中了几条呢?

相关文章