7.并不是你想象中起作用的性格
坚持:这是一笔财富也是不利的条件。你可以称它为顽固或者坚强,这完全取决于应用它的场合。在多数情况下,软件开发的"坚持"就是顽固的意思!当你遇到新问题时候,你再固执己见并不是好事。你应该迅速适应它,或原方案并不起作用时,学会用另一种解决方法。调试中,当你发现一个困扰你4个小时之久的错误时,你一定感到非常满意。但是实际上,如果你在一段时间——通常为15分钟没有取得任何进展时,你应该放弃找错。用你的潜意识去思考问题,尝试用别的方法解决问题,甚至重写厌烦的代码段。和计算机错误做斗争时不明智的,你应该尽量避免它们。知道在时候需要放弃时困难的,但是必须面对一个问题:当你觉得自己受挫折时,是否考虑尝试其他不同的方法。
经验:过于依赖经验会导致知识的落伍。今天的经验必须为明天的工作服务。如果不在过去经验中去归纳总结出一些有价值的原则或规律并改变自己去适应它们,那么经验也将一文不值。如果你的经验还是停留在上一次战斗而不是下一次,也不因时间做出应变,那么经验更像是一个阻碍。此外,错误的经验往往得不到客观的评价。错误的经验可以让你得出重要的不同结论,学习其他人的错误经验是一个好方法——你更可以对它做客观的检查。其他领域有成功经验的专业人员往往使人放心,而在软件开发中,知识更新迅速使得此领域中"经验"处于一个奇怪的地位。为了使自己有所价值,你必须紧跟潮流,对于年轻求知欲旺盛的程序员在这点有优势,而有些年老的程序员认为自己有所资格而厌倦一年接一年都要证实自己的能力。如果你已工作了10年,你得到了10年的经验未必是真正的经验——你如果坚持不断地学习,你就能得到经验,但如果你并不想学到什么,不管多少年你也学不到什么。
编程狂:如果你还没有至少在一个相同的项目上花费一个月的时间——一天工作16个小时;为了发现你的程序中最后一个错误睡眠中你也念念不忘它,你接连几天没日没夜地工作——即使你所编的程序并不复杂,那么你可能不会意识到编程中有某种令人兴奋的东西。
这种对编程的痴迷纯粹是胡闹,并且几乎注定要失败。但是那些通宵程序员使你觉得他们是世界上最好的程序员,但是随后你不得不花费几周的时间来修正你在这短时间的辉煌中所带来的错误,你可能对编程非常热爱,但是你应能冷静地处理这个问题。
8.习惯
好的习惯起作用是由于你为一个程序员所作的大部分事情是你在无意识中所完成的。成为某方面好的或差的程序员,主要是靠你自己的所作所为。你所作所为习惯,决定了你的编程品行。最终,你的习惯好坏决定了你是否能成为一位好的程序员。当你开始学习某一件事时,你应按正确的方式学好它。当你开始学时,你已对其进行了思考,并且你可在正确或错误的途径间作出轻易的选择。在你作过一段时间后,你对你所作的不太注意,此时"习惯的力量"会开始起作用。确保起作用的习惯是你所希望的。