为了保证代码的质量,您需要暂时搁置学习
公认的事实是,大多数开发人员都希望变得更好,变得更好。
如果曾经有一个以学习 ,自我完善和最出色的工作为中心的职业,那就是软件编程 。
为了变得更好地编程 ,您需要编写更好的代码。 要编写更好的代码,众所周知,您需要了解规则。
用DRY,TDD,YAGNI,KISS,SRP,DIP,XP等标记的砖块铺就了通往卓越代码的道路。
因此,每当开发人员想要变得更好时,他们自然就会遵循这些规则。 也许您读到的下一个模式将使您的炼金术式代码变得卓越。 也许知道一个补充框架,或了解更多有关数据结构的知识,将使您下次不得不解决某件事时,便找到了一个优雅的解决方案。
剧透警报:可能不会。
什么是代码质量?
没有什么比处理劣质代码库更糟糕的了。 我们所有人都本能地知道这个词的含义。
代码无处不在! 其他所有对象基本上都是神职! 有一些生成XML的元编程,然后由自制的解析器读取XML以构建某种模板引擎...我想吗?
但是让我们走另一条路问自己, 好的代码质量意味着什么? 我们期望在一个好的代码库中找到什么?
我们希望找到易于理解的代码。
这是关键所在,不是吗? 毕竟,我们越容易了解正在发生的事情,就越容易更改它以解决当前问题。
这就是所有这些规则的全部内容:编写易于理解的代码。 现在让我们放弃过于抽象的“好”形容词。
现在是秘密。
事实是:您可以永远学习,而无需成长。
当您专注于规则时,它们会变成拐杖,您会坚持使用它们的结构,而不是试图在特定的约束下达到特定的目标。
最后,您将每个新想法与已经拥有的想法权衡,然后丢弃您认为具有“较小价值”的想法。 您以为自己正在成长,但实际上只是让自己忙于学习。
专注于规则而没有牢记最终目标是什么,您将一无所获。
您最终撰写了第n个博客文章,内容是关于该新编程语言为何比其寻求替代的新语言更好的原因,或者为何该被遗忘的框架比流行的语言更优雅。
但是,如果相反,您专注于最终目标-编写易于理解,清晰的代码- 其他所有内容都将随之而来 。
您认为规则最初是如何设计的? 有些人为清晰起见而奋斗,他们找到了帮助他们到达那里的指导方针。 但是他们并不是盲目的应用它们,因为他们仍然牢记实际的目标:编写干净的代码。
这就是软件开发中几乎每条规则都有“知道何时打破规则”子句的原因。
这也是为什么您会看到出色的开发人员使用被认为有害的反模式或做法,并且仍然会产生难以置信的可读性和易于理解的代码的原因。
那么这对您的日常生活意味着什么呢?
如果您想继续学习模式和编程哲学,请这样做,但要遵循“如何使我的代码更易于阅读”的观点。
但是更重要的是,每当您编写代码或查看代码时,都要问自己:“这种变化会使它更容易理解吗?” -在这个答案上要对自己残酷诚实! —很快您就会看到代码有所改进。 您会感到不安,无法放入那种小技巧,不要构建不需要的抽象,所有抽象都将就位。
然后您将再次开始成长。
From: https://hackernoon.com/you-need-to-stop-learning-ffdb79eca10c