保持代码整洁和高效并不容易,作为一名开发者,可能会有那么几天,所从事的开发项目会让人感到沮丧。也可能会有几天只想复制和粘贴代码,写出曾经写过的最程序化、重复性最强的垃圾代码,然后下班回家。
要改掉这些坏习惯绝非易事,一旦它们养成了,就必须制定一些策略来触发大脑中来进行重构。一旦发现了一条讨厌的捷径,或者消极的态度蔓延开来,那么也是时候挑战它了,重构一下你的编程逻辑,让头脑清醒一下。一个程序员的价值不仅在于他直接创造的价值,还包括为团队带来的文化价值!
不要停下来
一个巨大的项目丢在了你的腿上,开始遍历所有不同的组件来构建、交互和所需的基础设施。甚至不知道从哪里开始,先构建这个元素还是那个元素更有意义?
解决这个问题的方法很简单:没关系。
只要开始削减项目,它最终就会开始变得有意义。
总会开始看到它的边界,并会慢慢成型。也会开始明白事情应该和不应该怎么处理。也许甚至会开始编写一小段代码,但后来意识到它无法运行并废弃它。
“只要不停下来,走多慢都无所谓。” —— 孔子
克服这种状态最重要的是动力,只有你想不想的问题,只有不断去改变自己的不良习惯,才会取得更大的进步。任何舒适的感觉都会麻痹自己不进则退。
没有什么是完美的,必须选择一个地方开始并尝试它。可能会开始构建部分 API,只是为了了解需要优化的数据库。可能在项目开发中发现很多工作可以开发一个脚手架。这些都是有意义的,一个程序员的意义在于创造的价值大否。
认真评审PR
我们都去过那里,积压的代码评审正直直地盯着我们。处理“你自己的工作”同时还要评审“别人的”的编码行为?—— 那是你的工作。
如果没有建设性和有效的代码评审意见,将无法推动可能更好的代码。无论认为自己多么令人难以置信,总会有其他人会抓住的东西。即使是一个看似无伤大雅的小评论,也几乎总是对作者有利。
每一次代码评审,都努力投入大量的精力来改进代码库和整个开发团队。Reviewer 的代码变得更好了,作者的代码也就变得更好,是相互提高。
减少编写重复代码
对于这个标准,建议是当项目开发中出现复制代码的时候,就需要静下来思考是否可以有更好的方式?当然这需要一个强大的自制力来约束自己,因为复制代码和编写高质量可重复利用的代码,在开发中很容易就步入后者,某种意义上来说复制代码可以保持高效。
危机感
我是一个对安全感焦虑的人,特别是作为一个开发人员,如果在团队中过得安逸,会让自己很焦虑。危机感可以逼迫我们不段去学习,去总结。
避免脾气暴躁
经常开玩笑说开发跟产品又打架了,大部分情况是脾气暴躁,不要成为一个脾气暴躁的程序员。脾气暴躁的程序员自称见过一切,知道什么是最佳的方式,包括我自己,要努力避免,因为这对于团队来说没有任何意义,还会产生负面影响。
当这种情况发生时,这意味着不开心或者受别的事情干扰了情绪,可能是当前的角色、工作量或一个特别讨厌的项目需求,找到它的根源并调整好或者给自己放个假。