分类: C/C++
2008-04-23 21:37:16
给初级程序员的一点建议
回想参加工作已有三年多了。现回忆起来,才发觉以前走了不知多少的弯路。现写下来供刚参加工作的程序员参考。也算是为中国软件做点微不足道的事吧!(这样说也太过分了,但总比一些外行人来指导软件开发的好。)还是不说这些了,让我进入正题吧!
1、以前总以为技巧最重要,现在才知道简单的才是好的
以前总以为编写代码时用的技巧越多自己的水平就越高,现在才知道用最简单的完成它才是最好的。写程序不像写小说,情节越是波动起伏越是引人注目,越是让人读了不能罢手。如果你写程序也像写小说,那读你程序的人给你的评价就是“这个死人,为什么会这样做!”。
2、为实现功能而写的代码我们要留着
以前在我看书时,会对一些代码进行验证,或在系统开发中碰到的一些问题做事例验证,当验证完后会把它删除。这样是不好的。虽然你在系统完成了些项功能,但以后用到时,自己又记不起太多。你只有到一个相对较大的系统中去查找你要的此功能源程序时,你会发觉你是个笨蛋。要是以前的验证事例不删除,查找起来就会容易多了。而且主题也比较明确。这方面我们上的杨大哥就是我们学习的榜样。大家问问题时,他总能给出一段实现的事例代码。要是他不是平时事先做过并保存起来。叫他到一个大项目中找。我想也不可能这么快吧!(问杨大哥一个私下问题,你的硬盘里这样的东西有多少G了?)。所以别认为自己验证过就可以把它删除,因为你记不了这么多。要知道知识是越积越多。任何一个人不可能完全记得的。不知道大家是怎么样做的?我是这样做的,写好的事例代码全都分类存贮。比如VC写的,我就建立一个“VC程序事例”目录。里边除了存放VC写的所有事例代码外,还有一个额外的说明文件。如“说明.txt”,里边记录着那个目录是验证什么功能事例的说明文字。这样以后我碰到所要的功能时,只要打开“说明.txt”就可以清楚找到想要的事例代码。打开工程只要Copy源码到要用的系统,再修修改改就可以了。
3、为自己准备一个笔记本、一只笔
任何一个高级程序员都是经过初级一步步走过来的。可是在这个过程中有的快,有的慢,也有的永远也只是个初级。这主要是对以有的经验不进行记录总结的结果。人的大脑不可能记下几个G的东西。我们接到项目时才去找资料,如果你事先把看到的有用东西记录到笔记本或电脑里。这样找起来也就更快。慢慢的随着你笔记本增多或硬盘的容量增加,你就一步步走出了初级程序员了。我这里的笔记本主要是用来记录一些简单问题。如在看里边的论谈时,会有一些别人问的东西,但自己现在还不用,我就会把它记下。等我下次要用时,只要查找一下笔记本就可以。当然记在笔记本上的问题主要是小的问题。如:“如何让窗口总在最前边?如何遍历一个窗口内的所有控件?”等等。回答也不是太多。所以几笔就写下了。这样开发中要用到这些东西时,我就不用再到网上去求助了,查找一下笔记就搞定。可以提高开发速度。
4、求职时对初级程序员的要求
初级程序员在求职中少不了要出示一些代码。其实因为你应聘的只是初级,所以一般要求不是太高。但有一点要记住,代码一定要规范(命名规范、注释规范、编写规范等等)。这是相当关建的。因为程序员与程序员之间的交流主要还是靠源程序。不要你讲你的马普(大多数云南人讲的普通话不是太标准,外边的人管这普通话叫马普。)他讲他的鸟语(我们把广东话叫鸟语,这里可没有其它坏的意思,而是因为广东话听起来像鸟在唱歌。我觉得很好听的。所以......)。这样不便交流,还有就是从其代码可以看出一个人的开发习惯。一般讲要改习惯可是很困难的。所以我认为初级程序员在写程序时不要为了快而把代码规范抛去。这样一旦养成了坏习惯,要改可以难着呢!
5、做一个虚心的人
古人说:“三人行必有我师”。不管是初级、中级还是高级程序。都有不懂的地方。所以虚心向他人学习来提高自己。说到这里我不得不再次谈到里的杨老大。经常上的人一定都认识杨大哥。如果你没上过,要问我杨大哥是谁,他是一本VC百科全书,远还不止这些。(我没见过其本人,但他给我了不少帮助。有机会一定去拜访他。)他不但懂的特别的多,而且人很谦虚,更加不保守。你提出的问题,只要是他知道的他都会帮忙的。作为一个初级程序员也就更加该如此了。
6、做一个不保守的人
我有一个观点,不知大家同意不同意。不会花钱的人,一定不会挣钱。哈哈... 对技术也是一样。如果你保守技术,也就不会在技术方面有更大的突破。只有公开你的技术,你才会有更大的动力去研究新的技术、突破新的技术来提高自己。正如花钱,只有不停地挣钱才能有钱不停地花。由于公司的原因不允许公开技术,但我觉我们至少要做到在同事求教下是要把自己知道的说出来。这样在你为同事讲解这一项技术时,你又会对此技术有更多的理解。同时提高和同事间的关系。让自己更好的和同事和睦相处。这在开发组中特别重要。 说了这么多,只是本人关点,仅供参考。
注:本人语文水平实在太差,如有语句不通、错字、别字请大家多原谅为谢。同时本人现就职于一家公司,在公司里做初级程序员。想另找一家单位。如有线索的请多多帮忙(给我发个Email)为感。为了提高自己的水平,本人还可免费为其写较小COM接口或ActiveX控件。
如果需要可把需求发EMail到yundongma@sina.com or myd@conwin.com.cn我将尽快回复。