当前位置: 首页 > 科技观察

我从伟大的开发人员那里学到的19件事

时间:2023-03-15 19:44:15 科技观察

1.三法则三法则是代码重构的经验法则,用于决定何时应该用新代码替换一段复制的代码/程序/方法。它规定你可以复制和粘贴一次代码,但是当相同的代码被复制三次时,应该将它提取到一个新的程序中。主要概念是使代码/程序/方法在项目之间通用,以便它可以在许多地方重用。2.稳定性为王结构和编码保持一致。这可以帮助您提高代码的可读性和可维护性。尝试提出一致的编码标准,这有助于保持一致性,最好是您的变量命名约定。另一个重要的是代码程序的结构,开发人员需要做一些更改或添加一些新东西应该是显而易见的。3.减少嵌套If中的ifs会使代码结构混乱并很快变得难以阅读。有时您可能无法解决此问题,但一定要查看您的代码结构。elseif也是如此,尽量避免嵌套if,因为它有时会使代码更难阅读。警卫声明(又名提前返回/提前退出)是帮助解决这个问题的有效方法!Guard语句仅用于检查前提条件,可以是返回语句或异常。没有guard语句的示例:if(account!=null){if(order!=null){if(order.term==Term.Annually){//termannually}elseif(order.term==Term.Monthly){//termmonthly}else{thrownewInvalidEnumArgumentException(nameof(term));}}else{thrownewArgumentNullException(nameof(subscription));}}守卫语句示例:if(account==null){thrownewArgumentNullException(nameof(account));}if(order==null){thrownewArgumentNullException(nameof(order));}if(order.term==Term.Annually){//termannually(返回这里)}if(order.term==Term.Monthly){//termmonthly(返回这里)}thrownewInvalidEnumArgumentException(nameof(order.term));4.站在全局的角度对项目有一个整体的了解非常重要,这样更容易在小细节上跟进。一旦了解了项目的整体结构,小细节就不需要花太多时间去研究了。5.花点时间想想命名的问题。在编码中命名变量、方法或对象是困扰我们的事情之一。这可以命名类、方法甚至变量。一个好的开发人员会花时间考虑相关的变量名,因为他们知道这有助于提高可读性!6.技术债务不好。高要求可以帮助解决这个问题。尽量把你的代码逻辑写一次,否则你就得反复重构。技术债务是软件开发中的一个概念,它反映了由于现在选择简单(有限)的解决方案而不是需要更长时间的更好方法而导致的额外返工成本。7.高估根据你的部门,你可能不喜欢这个。但优秀的开发人员往往会高估任务,因为他们大致知道事情需要多长时间,然后在预期中添加另一个缓冲,这可以帮助你完成工作。这真的可以帮助你解决上面的问题——“技术债务是不好的”。如果低估或者预估了一个更理想的时间,在现实中可能无法完成,甚至会留下一些技术债。因为你的期望是尽快把它搞定,并且能够让它发挥作用,而不是让代码干净易维护。8.文档和评论文档和评论有助于帮助自己或他人更轻松地理解和使用它。你会听到一些有经验的人说,我们能不能把这个过程记录下来,或者因为接口没有相关的注解,所以代码审查失败等等。9.敢于删除不好的或无用的代码你经常看到很多不太自信的开发人员评论出一个很多代码,把它留在那里。版本控制是有目的的!优秀的开发人员不会回避从他们的应用程序中删除未使用的代码。10.花时间检查你写的代码好的开发人员会花更多的时间在代码审查上,并且知道代码审查的重要性。及早发现错误;提高开发人员的技能并使其成为团队其他成员的习惯;知识共享;一致的设计和实施。我见过的最好的代码审查流程是:1个风险不大的小任务应该由1个开发人员审查;中/大型变更或风险变更应由3名开发人员审查,其中一名是另一团队的高级开发人员;一个非常高风险的修改或者一个正在开发的新特性,应该开个会,3个开发者至少一个是leaddeveloper,然后一起到每条线,提出建议。11.编写测试用例你会注意到更有经验和更强大的开发人员花更多的时间来编写好的测试用例。好的测试用例可以帮助您更有信心地扩展或修改程序代码,并有助于减少错误。12.花时间设计在深入研究代码或编写代码之前,仔细考虑并将其分解成小块。这有助于将所有内容组合在一起,并为创建更简洁的代码做好更充分的准备。13.关注技术实现原理而不是语法这是个大问题!他们更喜欢学习基础知识而不是语法。这样可以帮助他们更有效地发现问题,也可以帮助他们更好地理解google问题。14.让谷歌成为你的好朋友。他们是谷歌搜索专家,可以更好地找到问题的解决方案。由于上面提到他们更注重基础而不是语法,他们知道要搜索哪些google术语,如果你痴迷于学习语法,这是很难做到的!15.先实现特性再优化对于一些初级开发者来说,看起来你花了很多时间让你的代码一开始看起来不错,结果不行就尴尬了。优秀的开发人员只会在前期实现功能,这样在处理细节之前尽早发现问题,有利于保证项目的顺利进行。16.风险管理和问题解决高级开发人员能够控制风险,通过设计模式的应用提取复杂的问题,并根据过去的经验独立解决不同的问题。17.询问优秀的开发人员他们更想知道什么。即使听起来很简单,他们也不介意提出问题。这些可能是技术或业务相关的问题。了解业务需求有助于他们编写更好的代码!他们对自己的能力充满信心,因此不怕提问。18.尽可能将逻辑与数据库分开。这取决于您构建的应用程序类型,前提是它不影响性能。他们知道将数据库查询包含在简单的CRUD操作中。创建、读取(又名检索)、更新和删除然后,业务逻辑层应该将这些整合在一起。这有助于开发人员知道在哪里寻找业务逻辑。如果数据库查询和代码中存在逻辑,这很快就会变得混乱。19.保持代码简单他们知道保持代码简单是最好的方法。即使这意味着有时要编写更多代码。您会看到许多初级开发人员编写如下代码:returndir.Keys.Any(k=>k>=limit)?dir.First(x=>x.Key>=limit).Value:dir[dir.Keys。最大限度()];这通常有效,但很难阅读!总结:这就是我看到优秀的开发人员每天都在做的事情。您会发现其中许多与实际编码无关,而是与流程以及它们如何处理任务有关......