《C程序员从校园到职场》一2.2 破除错误观念

简介:

本节书摘来自异步社区《C程序员从校园到职场》一书中的第2章,第2.2节,作者 周兆熊,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 破除错误观念

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

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

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


ed0529d25808d6b4da4ff7b8a49a9024878b1832

图2.1 我们需要破除的错误观念

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

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

因此,为了个人的技术积累和职业发展,我们一定要谦虚,要虚心学习。

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

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

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

第一,代码行数的多少。

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

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

这是两者的最大不同,也是“专业”和“业余”的重要区别。在教材中,经常的命名有这几个:“int i;”、“char *p;”、“float f;”、“int f(int a,int b)”等,大家都已经习以为常了。但在实际的开发中,命名方式却大有不同。在工作中,我们要严格按照编程规范来办事,对变量及函数的命名不能想当然。这在后续的章节中会有详细的说明。

第三,程序的注释。

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

第四,输入/输出语句。

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

第五,程序的样式。

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

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

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

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

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

另外,我们从开始写代码到最后提交,都要严格遵守项目的管理流程,不能放任自流,要在规则之下来做事情。

错误观念四:公司会安排好我的职业道路。

每个人进入公司,都会有相应的入职培训,这其实就是公司对应届毕业生进行所谓的“洗脑”的过程。培训老师会给大家讲,公司是多么多么好,公司会针对每个员工制定好培养计划,让大家在适合自己的职业轨道上发展。

但是,当你发现坐在你旁边的员工已经入职10年,可是还做着和你一样的工作时,你对公司美好的幻想瞬间就破灭了。确实,不管是在学校,还是在工作单位,我们不要指望学校或公司能够将未来的道路给安排好,而要靠自己不断地努力去实现自身的价值。

科学技术日新月异,新的软件开发技术层出不穷。从事软件开发这一行,我们就要马不停蹄地学习,任何寄希望于他人或公司的想法都是不可取的。

“磨刀不误砍柴工”,在树立了正确的观念之后,我们学习工作中的C语言就容易多了。

相关文章
|
SQL 前端开发 Java
78.【大二实训--《宿舍管理系统》】
78.【大二实训--《宿舍管理系统》】
95 0
|
7月前
|
人工智能 前端开发 JavaScript
计算机毕业论文|校园资料分享系统的设计与实现
计算机毕业论文|校园资料分享系统的设计与实现
|
项目管理
PMP备考之路 - PMBOK第十二章(项目采购管理)
PMP备考之路 - PMBOK第十二章(项目采购管理)
80 0
考勤打卡——自律·做好时间管理
考勤打卡——自律·做好时间管理
|
程序员
程序员是金饭碗?培训班出身没人要,不造假就没工作?
作为一名想从事开发工作的学员,首先应该将“钱”摆在一遍,将兴趣提到首位,有兴趣自然好,没兴趣就应该培养兴趣,摆正心态,才能学有所成。
8073 0
|
算法 程序员 C#
|
算法 程序员 C语言
《C程序员从校园到职场》一导读
在工作的过程中,我发现我们在学校里面学到的很多东西比较片面肤浅,根本达不到岗位的要求。像编码规范、研发流程等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要。
1959 0