代码简洁性
开始之前……
2011年1月17日 by Max Kanat-Alexander
我研究软件设计的主要目标之一,是希望能够通过简单的教育和少量经验,将“糟糕的程序员”或普通程序员转变为优秀甚至卓越的程序员。我想知道——要培养一个人成为伟大的程序员,必须传授哪些根本性的东西?如果有人编程多年却毫无进步——你该如何帮助他们?他们缺失了什么?
为此我写了很多相关内容,尤其是在最近的一些文章中。然而,在一个人踏上成为更好软件开发者的道路之前,有一个前提必须成立:要成为卓越的程序员,你首先必须渴望成为卓越的程序员。任何培训都无法将不想卓越的人变成卓越的程序员。
如果你是对软件开发充满热情的人——或者只是喜欢做好本职工作的人——可能很难理解那些根本不想进步的人的观点。要完全理解这一点,可以想象自己尝试学习某个你个人毫无兴趣成为专家的领域。
例如,虽然我钦佩运动员,喜欢踢足球,有时也喜欢观看体育比赛,但我从未渴望成为伟大的运动员。无论读多少书或接受多少教育,都无法让我成为伟大的运动员,因为我根本不想成为运动员。我甚至一开始就不会去读那些书。如果你强迫我上课或参加研讨会,知识一进入我的大脑就会消失,因为我根本不想了解这些信息。即使我每天以运动为生,我也会想:“唉,我对体育没有热情,所以这些信息对我根本不重要。总有一天我会做别的工作,或者退休不再关心,在此之前我只是为了拿薪水而做,总比饿死强。”
尽管这难以想象,但当你告诉许多“糟糕”的程序员如何或为什么应该编写更好的代码时,他们心里正是这么想的。如果他们不是真心想成为最好的程序员,那么无论你给他们多少教育、纠正他们多少次,或者他们参加多少研讨会,他们都不会进步。
那么你该怎么做?公平地说,我可能不是最适合回答的人——如果我要做某件事,我觉得应该尽力做到最好。也许你能做的最好的事情是鼓励人们遵循这个理念。你可以对他们说类似这样的话:“反正你都要做,为什么不好好做呢?如果你更熟练,做这件事会不会至少更愉快?如果别人对你的工作印象深刻,那会是什么感觉?一天结束时回到家,感觉自己做得很好,会不会很美好?你的生活会不会比现在更好,哪怕只是一点点?你的生活会变得更糟吗?”
在最坏的情况下,你可以请某人列出“成为伟大程序员”的所有后果,直到他们对此感到释然或开始以不同的方式看待这个想法。你可以问他们:“如果你成为伟大的程序员,会发生什么?”并不断要求更多答案,直到他们感觉更好或开始真正看到卓越的好处。你不必对他们的答案做出任何正面或负面的评论,只需倾听并礼貌地承认他们说的话。目的是让他们有机会真正为自己审视这种可能性,也许能自己得出一些新的有趣的结论——不是由你告诉他们该怎么想或反驳他们的答案,而是通过与你交流如果他们变得卓越会发生什么。
无论你怎么做,底线是人们必须对提升自己感兴趣才能变得更好。如何让他们达到那种兴趣水平并不重要,只要他们在你浪费大量时间给他们提供他们一听就忘的教育之前达到那种水平。
-Max
分享
在Facebook上分享(在新窗口中打开) Facebook
在LinkedIn上分享(在新窗口中打开) LinkedIn
在Hacker News上分享(在新窗口中打开) Hacker News
在Reddit上分享(在新窗口中打开) Reddit
在Threads上分享(在新窗口中打开) Threads
在X上分享(在新窗口中打开) X
5条评论 发表回复
Jolie 说:
2011年1月17日下午3:53
哇!这清晰有用。事实上你可以将其推广到任何工作。很好。
回复
Max Kanat-Alexander 说:
2011年1月17日晚上11:20
谢谢!是的,我同意,它几乎适用于任何卓越的领域。
-Max
回复
Ahmed 说:
2011年1月17日晚上11:13
Max,这是成为伟大程序员的优秀起点(渴望)。这么多程序员有这种渴望,但仍然是普通程序员,因为他们不知道道路。我希望你发布一篇关于初学者成为伟大程序员的步骤的文章。我的建议是:个人项目、博客、阅读代码、每年学习新语言/框架…… Ahmed。
回复
Max Kanat-Alexander 说:
2011年1月17日晚上11:23
谢谢Ahmed!确实,许多人想变得伟大但尚未找到方法!我所知道的最佳道路是我在《为什么程序员很烂》一文中概述的要点。那篇文章有很多信息,所以有些人错过了接近结尾的要点,但那些是文章中最重要的部分!
目前的问题是,其中一点——理解软件设计的基础——几乎不可能,因为它们从未被编撰成文!所以这博客的很多内容都是关于这个的,但更重要的是,它将是我正在写的一本书的主题,这样人们才能真正拥有和理解这些基础,并继续前进。
-Max
回复
Dale 说:
2011年2月18日下午4:53
我觉得这令人兴奋,希望容易学习!
谢谢你!
回复
发表回复
取消回复
联系 关于 书籍:《理解软件》 书籍:《代码简洁性》
输入您的邮箱…
订阅
© 2025 版权所有。由 The Fox 提供技术支持。