俺自己就是编程速度比较快的那种,虽然5倍速度达不到,但编程全盛时期(现在编得少了,反应没那么快了)程序员平均速度的2-3倍是没问题的,以前在公司还有个“救火队长”的绰号,因为需要紧急抢工的时候就会让我上。
3天不眠不休写4万行程序的事情俺也干过(不保证那4万行程序完全调通,而且里面逻辑漏洞百出、且有不少重复建设,呵呵,这里只说速度)
那和聪明不聪明的关系不大,就是平素做事快、动作快、做题目逻辑反应速度快、加上熟练度高,,很多时候编着编着就成了脑子稍微动动,剩下的就是手动就行了。
说白了快更多是一个人的性格,说不上多聪明,更说不上多好,比如考试,俺的印象中,俺当然是考好考坏都有,但俺一般只需要用考试时间的30%以内来完成整张考卷,包括以前语文写作文,做完了以后,俺也不会去检查,瞎玩就是了。
俺从小到大一直是考得最快的,但很少当考得最好的……
所以,快归快,质量未必高。因为速度高了,往往是牺牲质量的,质量是要深思熟虑千锤百炼的,比如3天4万行程序,里面重复建设很多,加入深思熟虑之后再做,会把一些重复性的东西提炼成很多独立共享类,程序中只需要调用即可,或者更多考虑资源的合理分配利用、共享优化……等等等等,但那时候赶速度……这些,都考虑不到,有时候后续工作里要慢慢去考虑的……
第二就是逻辑漏洞,赶出来的活儿,逻辑漏洞很多,当时看着活儿赶得漂亮,后面等有空了,往往是需要回头去补漏的,不是说不赶工的就没漏洞,只是要少一些——以前我听说有些业内的德国、日本公司对程序质量要求严格的,是严格规定一个程序员一段工作时内不许超过多少行代码的,现在都用java和.net,程序包应有尽有,写程序简直是前台搭lego玩拼图,外加不多的后台代码,概念完全不同了。
第三是这种思维奇快、手也奇快出来的程序,往往风格有点点“天马行空”,注释不足,写作也不太规范,逻辑多少有些跳跃,给后面维护、修改的人带来了很多麻烦。这个么,我以前是经常被后面接活的人抱怨的,慢慢地约束自己一定要按照规范来、多家注释,逻辑上三思而后行。
IT领域,经过这么多年发展,其实最关键的是idea,其次是构架,那个程序员本身非常重要的年代,早就一去不复返了。
看到你们讨论写程序,俺有些心痒,俺不是计算机系出身,不过俺可是从汇编写通信驱动接口开始一直写到现在了……对写程序挺有感情:)