让你提前认识软件开发(4):破除几个有关软件开发的错误观念

第1部分 重新认识C语言

破除几个有关软件开发的错误观念

我们做事情的能力能够有所提升,观念的转变是关键。

从学生转变为职业人的过程是很艰难的,因为我们要与自己积累了多年的“老毛病”作斗争,这些“老毛病”包括:做事拖拉、不守时、不遵守规则、怕吃苦等。就像发射火箭卫星一样,摆脱重力的束缚所花费的燃料是最多的,一旦成功,那么以后的流程就会比较轻松了。所谓“万事开头难”,也就是这个道理。

那么,要想掌握工作中C语言的基本技能,我们需要破除哪些错误观念呢?

错误观念一:我的C语言学得很好。

这是几乎每个走出学校的、准备从事软件开发的人都持有的观念,因为他们在学校考试都得了高分。但想法是美好的,现实是残酷的。真正到了工作岗位,你就会发现,自己在学校学的那些知识是十分有限的,根本不足以应对工作。在中国,还有一个怪现象就是,学校里面老师讲得比较多的,工作中基本用不到;而老师没有讲,或者是讲得比较少的,工作中往往用得比较多。例如,C语言中的指针、结构体这些,学校里面讲得很少或者不深入,大家也没有太注意,只是应付了考试,但工作中我们需要时时与它们打交道。你还说自己学得好吗?

这又在一定程度上反映了一个事实:中国学校教育和社会工作是严重脱节的。为了个人的职业发展,我们一定要谦虚,要虚心学习。

错误观念二:编程是很简单的事情。

持这种观点的人,也是受到了学校教育的影响,因为书本上面的代码都很短,而且比较的简单。但在工作中,也这么简单吗?非也。

我总结了一下,教材上的程序与实际工作中的程序至少有以下几个不同:

第一,代码行数的多少。

教材中的代码一般为几十行,多则一两百行,大家当然会觉得简单;而工作中的代码少则几千行,多则上万行,两者根本不是同一个数量级的。我最开始拿到程序的时候,脑袋就晕了:怎么这么多代码呢?我从没看到过。

第二,变量及函数的命名。

这是两者的最大不同,也是“专业”和“山寨”的重要区别。在教材中,经常的命名有这几个:“int i;”、“char *p;”、“float f;”、“int f(int a, int b)”等等,大家都已经习以为常了。这是教科书对大家的“毒害”。在工作中,我们要严格按照编程规范来办事,像上面那些命名方法是严格禁止的。这在以后的文章中会有详细的说明。

第三,程序的注释。

这也是很让人头痛的事情。教科书上面的程序比较短,因此注释少,这也给大家引入了一种错觉:注释的多少不重要。但在工作中,我们要时刻记住:在一些重要的程序语句附近,一定要有注释。不仅如此,注释的写法也有多种,在不同的地方,写法是不一样的。简短而清晰的注释可以提高大家阅读代码的速度,进而提高工作效率。

第四,输入/输出语句。

在教材上,几乎每个程序都有“scanf”和“printf”这两个函数,用于读入和输出数据,大家用得是津津有味,如果哪个程序没有这两个函数,反而会觉得奇怪。但在工作中,确实是几乎不存在这两个函数的,而代之以其它方式来进行输入和输出。在刚开始的时候,你也许会觉得难以接受,但慢慢熟悉之后,你就会知道这是什么道理了。

第五,程序的版式。

在教科书上,没有什么版式可言,基本上实现需要的功能即可。这也给大家带来了误解,认为编程只注重功能,其它什么的都可以“随心所欲”。但在工作中,对于程序的版式、布局都有严格规定的,哪里应该缩进(以及缩进几个空格)、哪里应该留空格、哪里应该留空行,都是要注意的。这就像一个人一样,光说自己肚子里“有货”还不行,还需要注意外表,要让大家看起来觉得很舒服,所谓的“内外兼修”,就是这个道理。

有关代码的编写细节,我会在以后的文章中逐一说明。

错误观念三:我只要把代码写好就行了,其它的就不用管了。

大家也许会认为,开发工程师只负责写程序,其它的什么测试啊、写文档啊,就不必自己操心了。其实不然。

在工作中,开发工程师的工作是很多的,编写代码只是一小部分。在代码写完之后,不能马上把它交给测试人员来测试。很多新手写完代码就了事,这是不对的。我们要首先进行自测,这会花费比较长的时间,甚至比写代码的时间还要长很多,等自测无误之后,才能正式提交。

除了写代码和自测,我们还要编写相关的开发文档。你也许会认为写文档是文档工程师的事情,非也,是开发工程师要干的。所以,开发人员其实是很累的。

也站在未路让我牵挂的人。

让你提前认识软件开发(4):破除几个有关软件开发的错误观念

相关文章:

你感兴趣的文章:

标签云: