好习惯成就好程序员
公司搞了一次技术峰会,我有机会和大家聊了一下有关如何成功的问题。会上我向大家提出了我的想法,好习惯才能成就好程序员。
有很多人可能对这句话很不以为然,我也不忙辩解,先回答我下面的一个问题。
现在我们身边的同事,开车的越来越多了,如果周末你出去游玩,你需要寻找一个开车的伙伴,你愿意找下面的哪一位呢?
第一位,平常开车的时候,经常遇到一些小状况,但是因为见识多,所以很多事情知道怎么解决。
第二位,平常开车的时候,从来没出现过什么状况,但是经验非常欠缺,出了事都需要打电话求救。
你会选择哪一位呢?我告诉你,我会选择第二位。为什么,因为我相信,开车不出状况,绝对不是偶然的。这么多现象的背后,一定是因为这位朋友,会自然而然的绕开很多容易发生问题的地方。就拿开车来说,开车速度稳定且不超速,就是一个好习惯。不与别人斗气也是一个好习惯。喝酒不开车,疲劳不开车。都是非常好的习惯。
编程不也是如此吗?
我首先得批评一下应试教育。在我们学习C++ 的时候,往往甚么容易发生错误的语法,还偏偏就考这些,让你写出来。最典型的就是让你用一行代码写出一个循环出来。
回过头来,我们编程中第一件事情,就是对象的生命周期管理问题。有多少人的习惯,能够做到哪里创建,哪里释放?你可以观察一下,这方面习惯好的人,很难出现内存泄露的问题。
说到这里,我说好习惯让我们减少了很多不必要的麻烦。你或许还是不服。因为有很多时候,我们真是因为BUG ,才积累了很多经验。
是啊,但是BUG ,可以是别人的 BUG 啊。而且我们作为程序员最高的价值难道就是修改 BUG 吗?不!程序员最大的价值应该在创造,创造新的代码,新的功能,把灵感实现出来,发挥我们更大的作用。
米卢说,态度决定一切,汪中求说,细节决定成败。我们要说,习惯成就人生。我们程序员要去学设计、要去学架构,唯有练就一身好本领。而这个好本领中就应该包含一个好习惯。《高效能人士的七个习惯》讲的也是这个道理。《发挥你的优势才干》也是这个道理。当这些成为你的习惯的时候,他们就是你的优势力量,你可以在不知不觉中解决问题,也可以莫名其妙没出现问题。
越是细节处,也是显示出习惯的力量。因为在很多细小的地方,你都没有深入思考,而是凭借惯性思维-- 也就是习惯来工作的。
最近也看不过不少讲程序员成功的途径,我以为成功的途径大部分还是相同的,但是不一定很多人都能意识到相同的路径是什么。习惯就是这样一条路径,需要我们开始重视起来。