效率的秘诀是高质量的代码,而不是有效的经理

最白痴的职业之一是管理程序员的经理。 不是全部,而是那些本身不是程序员的人。 那些认为可以使用书本上的方法“提高”效率(或提高“效率”?)的人。 甚至不用费心去读这些同样的书,这个视频就是吉普赛人的。

那些从未写过代码的人。 那些为程序员制作好莱坞电影的人——好吧,就是那些使用命令行查看电子邮件的人。 那些除了指标、截止日期和自己的薪水之外对任何事情都不感兴趣的人。

那些人是大多数。

但他们是白痴却有不同的原因。 他们想要效率,或者至少是有效性(来吧,经理,谷歌一下有什么区别),但不了解其中任何一个。 没有大致了解本质,获得结果的过程,这个过程中发生的损失,开发的成本。 简而言之,与程序员一起工作就好像他是一个黑匣子一样。

他们遇到程序员的管理的原因只有一个:炒作、金钱、市场和一群同样的白痴。 有一个地方会迷路。

如果机械装配生产有炒作,我们就会去那里。 旅行车很糟糕。 如果 XNUMX 月份在我们附近卖圣诞树的人是一名正在度假的 IT 经理,我不会感到惊讶。

简而言之,如果可能的话,朝这些家伙的脖子开枪。 别担心,他们会找到工作的。 在他们自己成为一名程序员之前,他们永远不会做任何像样的事情。 因为他不了解他所控制的流程的本质、机制、逻辑。

好了,关于经理的事情就说完了。 现在进入正题,对于程序员来说。 如何通过学习编写高质量代码来提高开发效率。

为了提高效率,您需要在不损失质量的情况下更快地解决问题。 为了更快地解决问题,您需要能够立即编写高质量的代码。 还有“高质量”、“写出”、“立即”。 我用一个比喻来解释一下。

编写高质量的代码就像正确地说一门外语。 当你不懂一种语言时,你会花很多时间试图用它来表达你的想法。

如果你需要紧急说些什么,你只是坚持一些单词,通常不是正确的单词,你会忘记冠词、正确的词序,更不用说动词时态和糟糕的发音了。

如果你有时间制定答案,你将不得不打开字典或在线翻译器并花费大量时间来制定你的想法。 但这种感觉仍然会不愉快:你说出了答案,但你不知道它是否正确。 代码也是如此——它似乎已经写好了,似乎可以工作,但它的质量是否良好是一个谜。

事实证明这是双重浪费时间。 需要时间才能找到答案。 制定这个答案也需要时间——而且不是那么短。

如果具备编写高质量代码的技能,那么一旦头脑中成熟,就可以立即制定答案,而无需花费额外的时间进行翻译。

编写高质量代码的技能在设计架构时很有帮助。 你根本不会在头脑中考虑不正确的、无法实现的或二手的选项。

总结一下:编写高质量代码的技能可以显着加快解决问题的速度。

但这还不是全部。 感谢毡靴经理们,有一个问题——我们没有理由编写高质量的代码。 经理不看代码,客户也不看代码。 我们很少向彼此展示代码,只是有时,在一些有指定代码“检查器”或定期重构的项目中。

事实证明,在大多数情况下,糟糕的代码会被送到生产环境或客户端。 一个写过烂代码的人形成了稳定的神经连接——写烂代码不仅是可能的,而且也是必要的——它被接受了,他们甚至为此付出了代价。

结果,编写高质量代码的技能根本没有机会发展。 有条件员工编写的代码永远不会被任何人检查。 他能够正常学习编程的唯一原因是内在动力。

但这种内在动机与效率和生产力的计划和要求相冲突。 这个矛盾显然并没有因为高质量代码而得到解决,因为人们甚至不会因为糟糕的代码而批评别人。 即便如此,也未能实现计划。

我应该怎么办? 我看到并提出了两条可以组合的路径。

第一个是向公司内部的人员展示您的代码。 不是被动地(当被要求/强迫时),而是主动地(呃,伙计,请看看我的代码)。 这里最重要的是不要发布含糖的鼻涕,不要试图以礼貌的形式批评代码。 如果代码是垃圾,我们会这样说:代码是垃圾。 当然,还有解释,以及如何改进的建议。

但这条路也马马虎虎。 其适用性取决于接触发生的点。 如果工作已经投入生产,但结果发现代码很糟糕,那么重做就没有意义了。 更准确地说,原因是指标也会下降。 经理们会冲进来,用效率要求压垮你。 甚至不要试图向他们解释糟糕的代码肯定会以错误的形式出现——这会给你带来适得其反的结果。 你只能承诺不再这样做。

如果工作还没有交付,或者刚刚开始,那么在代码(或者它的项目、想法)上倒屎可能有相当实际的意义——这个人会正常做的。

第二种方式,也是最酷的一种,是在非工作时间进行开源开发。 目标是什么:让一群程序员,即程序员,看到你的代码并谈论它。 公司里的每个人都没有时间。 但全世界的程序员还是无事可做,如果你写一些从应用角度有用的东西,他们肯定会往里面看。

在我看来,主要的技巧是在非工作时间编写代码,因为代码质量和交付结果的速度之间的矛盾是行不通的。 写下你至少一年的发展。 截止日期、技术规格、金钱、老板都不会对你施加压力。 完全的自由和创造力。

只有在自由的创造力中,你才会理解和感受到什么是伟大的代码,才会看到语言和技术的美妙,才会感受到业务任务的魅力。 好吧,你将学会编写高质量的代码。

确实,这需要您花费私人时间。 就像任何其他开发一样。 不要将其视为成本,而是对自己的投资。

来源: habr.com

添加评论