最难的事情
消除有意引入代码复杂性的冲动
S 0您已经编码很长一段时间,你已经被授予高级开发人员徽章。 您认为时机已到:您终于进入了俱乐部,现在您有权编写更复杂的代码。 因此,您坐在笔记本电脑前,为解决您的问题写出最聪明的解决方案。
当我编写代码时,我假设其他开发人员也和我一样聪明—我遇到的一些开发人员
我的朋友,那完全是错误的。 成为高级开发人员并不是要编写复杂的代码,而是相反。 这是关于正确解决问题的方法。 优秀的开发人员可以找到解决复杂问题的简单解决方案。
初级开发人员和高级开发人员之间的主要区别之一是,后者可以选择编写简单的代码。 初中生更有可能引入偶然的复杂性,并编写难以阅读的代码。 他们无法选择。 实际上,高级开发人员不仅应避免编写复杂的代码,而且还应帮助他们的其他开发人员编写更简单的代码。
当认为开发人员从编写代码中获得报酬时,最大的误解就出现了。 他们不是 。 开发人员获得解决问题的报酬,而专业意味着以简单但可靠的方式解决问题。
简单的代码并不意味着糟糕的代码,也不意味着代码不完整。 它表示符合给定要求的代码。 它不会对未来做出假设,但是能够成长并适应变化。 这意味着它已在规范中进行了正确的测试,并且意味着已在其边界内进行了适当的封装。 这意味着它干净整洁,团队中的任何开发人员都可以理解其意图。
学习编码最困难的事情是学习不编码 。 的确是这样:许多经验丰富的开发人员都不会面对面临的问题而感到挑战,因此他们自己应对挑战。 这就是他们将一个简单的解决方案变成有史以来最复杂的代码的方法。
聪明的程序员和专业的程序员之间的区别是
专业人士知道,清晰为准。 专业人士善用自己的力量,编写他人可以理解的代码。 -罗伯特·马丁
我本人一直走这条路,我可以说有时候最好找其他地方的挑战。 例如:看一下现有代码并找到更好的方法来表达它,找到丢失的测试用例等。没有代码是完美的,因此您很可能会发现其中的问题。
请记住,就像本伯伯所说的:强大的力量伴随着巨大的责任。 并且,如果您有足够的经验,您的责任在于保持业务发展。 编写难以理解和更改的代码不会做到这一点。
就是这样了。 我没有在这里强加任何东西,但我真正相信,如果每个人都接受这个建议,我们都会成为更好的程序员。
感谢 Hackernoon 发布我的故事!! ????????