6.1 引子
6.1.1 10的22次方
现在我们有了更好的工具,更好的语言。但是,语句的本质并没有随时间改变。
我们真正打交道的东西,40年来没有多少改变。
6.1.2 转变
无论是搏斗还是编程,速度都来源于练习。而且,两种练习并没有什么差别。我们选择了一系列的问题及其解决方案,一而再、再而三地练习,直到熟烂于心。
6.2 编程柔道场
6.2.1 卡塔
编程卡塔是一整套敲击鼠标和键盘的动作,用来模拟编程问题的解决过程。练习者不是在解决真正的问题,因为已经知道了解决方案。相反,是在练习解决这个问题所需要的动作和决策。
6.2.2 瓦萨
瓦萨基本可以说是两个人的卡塔。其中的招式需要精确记忆,反复演练。一个人负责攻,另一个人负责守。攻守双方互换时,各种动作要一而再、再而三地重复。
6.2.3 自由练习
自由练习就是不限制形式的搏击。
6.3 自身经验的扩展
6.3.1 开源
保持不落伍的一种方法是为开源项目贡献代码。
6.3.2 关于练习的职业道德
职业程序员用自己的时间来练习。
6.4 结论
无论如何,专业人士都需要练习。他们这么做,是因为他们关心自己能做到的最好结果。更重要的是,他们用自己的时间练习,因为他们知道保持自己的技能不落伍是自己的责任,而不是雇主的责任。练习的时候你是赚不到钱的,但是练习之后,你会获得回报,而且是丰厚的回报。