当前位置: 首页 > 后端技术 > Java

初级程序员容易踩的7大坑!全部命中!

时间:2023-04-01 18:14:05 Java

英国作家奥斯卡·王尔德曾说过,人们将自己犯下的错误称为经验。因此,可想而知,经验不足的开发者,在编程的道路上,还有很多陷阱没有踩过。在这篇文章中,我会告诉你一些大多数开发者踩过的坑,希望能给你带来启发和帮助,避免你重蹈覆辙。1.重新实现API中已有的代码大多数开发者会使用某种框架来减轻工作负担。对于没有框架经验的开发人员来说,掌握框架API提供的所有功能可能非常困难。因此,他们经常重新实现API中已有的一些代码。没有经验的开发人员更容易踏入这个陷阱的原因有两个。首先,由于缺乏经验,这些开发人员不了解API中开箱即用的功能。所以他们在浪费时间编写框架中已有的代码。由于缺乏经验,他们无法充分利用该框架。其次,没有经验的开发人员不知道在哪里可以找到合适的文档。更重要的是,有些人根本不阅读文档。这对没有经验的开发者来说是个大坑,因为重新创建相同的功能似乎很诱人:有些功能只需要重写几行代码。而且,重写这几行代码也用不了多少时间。但是重写相同的代码有一定的缺点:代码库将包含重复的和未经测试的代码;由于引入了新功能,代码会更加复杂;其他开发人员不会熟悉此功能,也不会理解您为什么要导入此功能。总的来说,你的这一举动无缘无故地增加了复杂性。2.不要把简单的问题复杂化。有时开发人员会遇到超出他们能力范围的工作。问题是有经验的开发人员知道什么时候该承认。有经验的开发人员试图让事情尽可能简单,而没有经验的开发人员则难以掌握它,有时甚至做得过头了。原因之一是缺乏经验的开发人员通常急于向团队其他成员证明自己。他们以各种奇怪的方式实现代码,从奇怪的单行代码到过于复杂的抽象。这可能导致不必要地增加技术债务。这个陷阱会增??加代码的复杂性。事实上,我们应该尽量保持简单。有经验的开发人员会遵循KISS原则:Keepitsimple,stupid(保持简单和愚蠢),换句话说,“Simpleis3.Swallowingerrorsquietly安静地吞噬错误是没有经验的开发人员的最佳选择。一个常见的错误。在一个一点,一个相对缺乏经验的开发人员正在努力修复“无效查询”。该查询检查产品是否仍有库存并返回一个值。SELECT*FROMProductsWHEREamountInStock>[value]这里会有一个bug,因为传递给查询的值不是一个值,而是一个空值。所以查询看起来像这样:SELECT*FROMProductsWHEREamountInStock>这当然会引发错误。然而,缺乏经验的开发人员通过将传递给查询的变量转换为整数来“修复”了该错误。虽然查询语法有效,但这并不能解决问题。没有经验的开发人员没有追查问题的根源,而是选择在最低级别“修复”错误,当然绝对没有恶意。然而,修复这个错误的正确方法是找出为什么NULL值被传递给这个查询,并修复它。此问题可能是由于提供库存信息的API出现问题所致。如果是这种情况,那么可能根本不应该执行查询。实际问题可能与查询无法正常工作完全无关。默默地吞下错误只会导致错误的真正原因被掩盖。缺乏经验的开发人员倾向于从语法的角度“修复错误”,但这种做法吞没了实际的错误。4.过度自信如果你问一个过度自信且缺乏经验的开发人员完成一项任务或用户故事需要多长时间,他会尽量告诉你最短的时间。如果您问一个过于自信的开发人员是否编写测试,他会告诉您没有必要。他会说他的代码不可能有bug,不可能有问题。如果您认为自己在第一份工作时就知道了一切,那您就大错特错了。如果你明明什么都不懂,却又没有自知之明,那就真的可悲了。对于大多数没有经验的开发人员来说,这是最大的问题。你必须学会??谦虚,并对建设性的批评持开放态度。从经验丰富的开发人员那里获得建议,这样您就可以成长。自信是好事,但太多了。5.只测试积极的测试用例缺乏经验的开发人员通常专注于交付功能或用户故事。这就是所谓的幸福之路。但是,功能或用户故事需要测试。没有经验的开发人员和有经验的开发人员在这一点上有很大的分歧:没有经验的开发人员只会测试用户应该做的事情,而有经验的开发人员也会针对边缘情况编写测试。只测试正面测试用例是天真的。用户是不可预测的,你需要测试的不仅仅是积极的测试用例。6.更换工具拥有合适的工具并熟练掌握它们可以在日常工作中节省大量时间。您应该花一些时间寻找合适的工具。在寻找工具时,您应该选择能够实现其承诺的工具。如果您有合适的工具,请坚持使用它们。不要每周更换工具。您需要一些时间来了解和掌握这些工具。此外,您应该深入研究一个好的IDE,因为您将在大部分工作中使用IDE。了解键盘快捷键和如何使用代码片段,并创建您自己的代码片段以加快您的日常工作。此外,您应该学习如何调试。选择带有某种调试器的IDE,可以让您轻松查看所有变量值。这有助于您更好地了解正在发生的事情,并为您节省大量调试时间。7.只关注技术,不关注业务经验不足的开发人员还没有掌握自己的技术栈,所以大部分人往往会专心学习技术栈,而对业务视而不见。要想成为技术栈的高手,熟悉业务非常重要。您需要了解为什么要构建这些功能。一些开发人员只对他们工作的技术方面感兴趣。他们不关心使他们成为现在的商业或经济因素。你是在为企业创造价值,还是在无关紧要的事情上浪费了太多时间?你需要弄清楚这个重要的问题。作者|大安翻译|新月,责任编辑|吴兴玲监制|CSDN(ID:CSDNnews)原文:https://medium.com/better-pro...近期文章推荐:1.1,000+Java面试题及答案整理(2021最新版)2.IntelliJIDEA激活终于搞定了通过开源项目代码,太贴心了!3、阿里Mock工具正式开源,秒杀市面上所有Mock工具!4、SpringCloud2020.0.0正式发布,全新颠覆版本!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!