编程水平提升阶段三:有意识的有能力
自从锋仔拿起他的第一本HTML书至今已经有两年了。 很显然这是一条不归路,对于锋仔来说,每天思考的问题都是如何去提高自己喜爱的这个专业。 从他拿起第一本书几个月后,他得到了第一个作为自由工作者开发一个网站的机会,他投入了极大的热情,不管这个工作的薪酬有多低,这个工作有多简单 (甚至是对于他的水平)。他深信一点:最好的学习的方式就是坚持不懈,屡战屡败,屡败屡战。
他经常去研究如何以最好的方式执行一个功能,因为他知道最好的代码不是第一次就能获得的。 他必须去优化代码,他一遍又一遍地审查。 他一次又一次地修正。
之后,他又给他自己写了一个大概有30到40行的程序。 几天之后,他忍不住感到失望,因为他在上网时发现了一段更省事的、而且更简洁的程序,代码行只有他的一半。 他渴望知道何时才能轻松的写出如此高质量的代码。 然而,经过一段思考之后,他开始分析自己的代码。 他知道必须去重写这些代码,否则睡觉都不会安稳。 他不愿意去拷贝粘贴它们。
锋仔正走在成为一个优秀的专家的路上,但他不会给自己加上这个称号,他愿意去等,他是有意识的有能力。
编程水平提升阶段四:无意识的有能力
这是汇编水平的终极阶段。 它不仅仅是知识积累的结果,更是一系列的逻辑规则在数年里慢慢的刻印到脑海中的结果。
我们面对这样的一个人时,不得不由衷的佩服他对如此复杂的问题,竞能如此轻松地应对。 这种汇编者看起来就像是能够嗅出问题的解决方案,而不是思考出的。
优化的编写,可维护的、安全性的程序,应用各种设计模式,使用正确的开发工具组合,这些会自动的在他的工作中体现出来。 这种人能够轻松的使用多种语言在多种操作系统平台上工作。
最后值得一提的是,一些学者提出第五种阶段:成熟的有能力,定义为有能力去教育和传承他所学的、甚至是还未意识到的知识。 我们可以从一些才智超凡的人哪里看到这些特征,他们可以教学和讲解,这些很显然是多年实践经验积累出的技能。