当我还是一名学习音乐的学生时,我经常彻夜在音乐学院教学楼里练习。训练室的墙壁很薄,我演奏的声音经常被一些十分难听的演奏声吞没。这并不是说我们学校的乐手都很差,正好相反,他们在练习。
当你在练习的时候,演奏出来音乐或许总是难听的。如果你在练习的时候,总能演奏出悦耳的音符,那就证明你一直无法突破自己的极限。这就是练习的意义所在。运动也是一个道理。运动员在训练的时候总是将自己推到极限处,这样他们才能在比赛中突破自己的极限。他们让丑陋的东西都暴露在平时的练习中——而不是真正的比赛中。
在计算机这行,经常会有开发师突破自己取得进步。但是,很多时候都是因为他们本来就不胜任自己正在做的工作。我们这个行业习惯于在工作中练习。你能想象一名专业的乐手,站在舞台上,演奏出来的却是大学训练室里那些难以入耳的声音吗?这肯定是让人难以忍受的。音乐家是通过公开表演而赚取报酬——是表演,而不是练习。同样,如果功夫高手或者拳击手在比赛中表现得疲惫不堪,那他在这项运动中也没什么发展。
我们应该寻找时间练习。在西方,与外包给那些国外团队的工作相比,我们经常把相对高水平的编程工作交给当地的开发人员。我们要在质量上与他们做竞争,就不能把工作当作练习来对待。我们要在提高技艺上面投资。
几年前,效仿练习演奏,我开始试着进行编程练习。第一条规则就是练习开发的东西绝对不能是我想要使用的。我不想图方便,仓促地达到目的。所以我开始编写我用不着的程序。
我没有走捷径,但是在练习中我发现很多想法都不能实现,这让我很泄气。尽管我尽可能地把它当做工作来好好做,那些设计和编码却不能达到我的期望。
现在回想起来,当时那种窘迫的感觉是个好的迹象。我编写的代码并不是完全没有亮点。我在开发大脑,突破自己的编程极限。就像练习吹奏萨克斯风时,如果练习的时候演奏出来的都是悦耳的音乐,那我知道我根本没达到练习的目的。同样,如果练习时编出来的程序都是很棒的,那我就是在发挥我的正常水平,而没有接近我的极限——好的练习应该让我接近自己的极限。
我编程,我快乐——15 练习,练习,再练习
书名: 我编程,我快乐
作者: [美] Chad Fowler
出版社: 人民邮电出版社
原作名: The Passionate Programmer:Creating A Remarkable Career In Software Development
副标题: 程序员职业规划之道
译者: 于梦瑄
出版年: 2010-8
页数: 202
定价: 39.00元
装帧: 平装
ISBN: 9787115233523