如果你爱他,那就让他成为程序员,因为编程会使他的人生充满快乐;如果你恨他,那就让他程序员,因为编程会带给他 无尽痛苦—这就是我一个从事编程多年的从业者的感悟。
变成的过程是痛苦并欢乐的。作为一个编程人(不敢叫程序员),当在汪洋的代码中苦苦寻找程序的BUG,当面临着一个 个技术难题而冥思苦想着解决办法,我时常带坐在电脑前或者在房间里漫无目的的走来走去,丝毫没有意识到时间在身旁匆 匆流逝,那种令人迷茫无助甚至压抑的感觉就像有一块大石头压在胸口让人喘息不过来;而当这些问题得到解决,我看着一 行行代码从指间飞到荧屏上,一个个功能模块在自己手中不断完成、完善,一切都雨过天晴,总算能交差了,这时只想着倒 头便睡。编程的工作就是一个字——累,尤其是心累,我想多数编程人都有同感。所以,个人觉得编程有时也是个力气活, 要身体好,而且意志坚定。当然除了这些,搞编程还要基础扎实,经验丰富,善于积累总结。多年来,我总结了如下的编程 心得体会。
①基本功要好。
编程的基本理论、概念要掌握,像什么计算机基础操、网络的使用以及对象、类、菜单、函数、常量、变量、数组、集 合、算法、数据类型、存储变量、窗体、控件、事件、属性等概念要明白掌握,还有就是流程控制语句,常用函数关键字等 等都要熟记于心。这些就好像武侠小说中的内功,要练好武功,内功要扎实。有了内功,就可以学习招式——编程语言。比 如常用的C++、C#、Java、VB、PHP等等,有了内功基础,这些招式都可以试练几招,当然没种招式都有差别——类、语句、 函数等的书写格式都不相同,这就需要细致练习,不可混淆,防止走火入魔。当然,本人觉得编程工具的学习只需掌握一辆 们即可,不必每一招都要学精,我们一般人是没有那么多时间精力,除非一些天赋异凛的大侠外。有的大侠会觉得有些编程 语言比其他的更有优势,但我觉得时代在发展社会在进步,每一种编程语言都在发展,都有自己的优势,只要能满足你工作 学习的需要即可。
②勤学苦练,锲而不舍。
学会了武功,那就需要勤加修炼,只有在实战中才能提升公里,否则就像《天龙八部》中的王语嫣,即使懂得很多武功 而不练习,但是一个菜鸟小兵就能将其打败。编程只有在不断实践学习中才能提升水平,积累经验,而一旦图中长时间撂下 ,虽不至于武功尽废,但想恢复武力也要下很大功夫。本人就有类似经历,不堪回首。今年6月的一天,领导突然通知我参加 省里的程序员比赛,比赛分理论和实际操作两部分,理论部分占30%,实际操作占70%。实际操作要求采用VB .NET、C++、C# 、Java编程语言任选其一,数据库采用SQL Server2005或Oracle 10G,在8小时内完成程序的设计文档、编程调试、测试、数 据库应用。当我看到比赛要求,我有点石化的感觉。这里面只有数据库很熟,我已经好几年不写程序了,这下我可抓瞎了。 参赛名单领导已经报上去了,没办法只能硬着头皮上了。经过一个月的地狱训练,我总算找到了使用VB.NET的感觉和熟悉度 ,从中也总结出一些经验,最终考试取得了前几名。
③要耐得住寂寞,坚持不懈。
编写《九阴真经》的黄裳前辈在山中修炼四十余年,终究神功大成,其毅力非常人能比。 编程也是一样,一个功能完善的程序往往都有成千上万行代码,大小几兆几十兆不等,工作量是相当大的。编程人员在电脑 面前一坐就是几小时甚至十几个小时,并不停的瞧着枯燥的代码,翻阅着大量资料。比如本人在写程序的时候经常是一个人 在夜深人静的办公室内彻夜奋战(白天杂事太多,晚上是我编程效率最高的时候),尤其是今年赛程准备阶段更是如此,每 天8个小时的苦练确实要有一定毅力才能坚持下来。这就要求编程的人要耐得住寂寞,要有毅力,要有不完成任务不睡觉的精 神,当然身体要好。如果耐不住寂寞,没有坚持不懈的精神,三天打鱼,两天晒网,老是不能按时完成编程任务,那么就很 难成为一个合格的程序员。当然这种8小时内完成程序的比赛,虽然不怎么提高你的编程水平,但是对检验你的编程能力却是 一个很好的办法,建议大家有时间可以试一试。
④注意积累,善于总结。
凡事武功大成的大侠,往往著书立做或者留下自己的新的体会,而这些就是后人所争抢的秘籍。很多人每次开发完成程 序不怎么注意总结积累,当然我们自己总结编程经验不会成为武林秘籍,但对我们个人来说确是一笔不小的财富。每个人编 写代码都有自己的习惯,而善于总结,每次完成程序开发后,都将编写的特殊功能、函数、通用的功能模块以及特殊方法技 巧单独保存起来,下次编写类似程序时就可以直接使用,而很多程序中的通用功能模块旺旺大同小异,这样就节省时间,大 大提升了编程效率。比如数据库方面程序不外乎数据库的创建、存储过程、视图的编写以及数据库中数据的增、删、改、查 各功能都可以将其单独保存好,以备下次使用。而唱起坚持积累总结的人编程起来无往不利。记得我以前的一位老师,他善 于C语言。每次有人找他写程序,一般情况就是别人一边说功能需求他一边写程序;需求说完了,他的程序差不多写完了,然 后调试一下就搞定了,因为很多功能函数他都有现成写好的,他编程只需要将这些函数接口调用一下就可以了!
⑤写代码一定要加注释。
比如上面的代码加了比较详细的注释,很容易看懂,但很多人写程序往往不加注释或注释太简单,所以他写的程序除了 他本人外,别人要读他写的代码就太困难了,有时完全看不懂。就像郭靖,如果不是他遇到了一个即懂中文又懂印度文的一 灯大师,恐怕他到死也不知道《九阴真经》总篇当中那些稀奇古怪的文字含义。不加注释有时是要累死人的。本人就有累死 经历。那次同事休息,他的编写的系统需要大改,而我接受了这个系统完善的任务,结果没有想到他的程序一个注释都没有 ,看得我头昏脑胀,始终理不清他的思路,只得一遍一遍给同事打电话询问。最后他没休息好,而我也累得够呛。
⑥变量、函数、控件命名要规范。
我以前不太注意这个问题,结果每次看自己的程序都是一大堆text1、text2…,button1、button2…,看得我自己都 要琢磨半天才搞清楚代码逻辑关系,浪费时间。所以以后写程序,我都尽量按照改进型匈牙利表示法来命名变量控件等。编 写程序
命名规范这也是一个良好的编程习惯。
⑦编程工具版本问题。
有些人很爱追新,只要编程工具出新版本,立马换上。个人觉得这个问题有待商榷,新版本固然功能强大,但是在编程 时还要逐步适应新工具,很可能改变你的编程习惯,从而降低你的编程效率。不是版本越新越好,而是你最习惯的工具最好 。