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

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

第1部分 重新认识C语言

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


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


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


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

640.jpg

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

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


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

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

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


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


第一,代码行数的多少。


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


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


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


第三,程序的注释。


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


第四,输入/输出语句。


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


第五,程序的版式。


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


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

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

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


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


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


另外,我们从开始写代码到最后提交,都要严格遵守项目的管理流程,也就是一个软件的生命周期,不是说想什么时候做就什么时候做,不能随心所欲,要在规则之下来做事情。有关这方面,以后也会有专门的文章来说明。

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

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


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


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


还有一些错误观念,像软件开发工程师都是牛人、都很受人尊重、工作很轻松且工资很高等等,我就不逐一说明了,大家在网上去百度一下便可知晓。


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

往期精彩

五分钟读懂TCP 协议


为Linux应用构造有限状态机


专为MCU项目开发提速的代码框架BabyOS


嵌入式C语言代码优化方案(深度好文,建议花时间研读并收藏)


stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新

目录
相关文章
|
2月前
|
数据采集 人工智能 监控
使用GenAI反增工作量的七大途径
使用GenAI反增工作量的七大途径
|
人工智能 运维 大数据
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
123 0
软件开发商何时介入生产过程?一起跟随程序员看看软件开发全阶段
|
机器学习/深度学习 安全 测试技术
我亲身经历的2022年软件质量工作
我亲身经历的2022年软件质量工作
|
监控 安全 程序员
软件开发的过程
在软件工程中,软件开发方法(也称为系统开发方法,软件开发生命周期,软件开发过程,软件过程)是将软件开发工作划分为包含旨在更好的活动的不同阶段(或阶段)。规划和管理。
3148 0
|
项目管理
一个运营人的自白:做好项目管理,摆脱工作996
今天七夕耶!!停,别高兴得太早,如果你忙到抽不出时间去约会,那今天也只能是个普通的星期三!!社畜最害怕听到了一组数字大概就是996了,可996并不少见啊,特别是初创型公司,钱没到位工作又累,一人身兼数职也是经常有的事,每当事情堆积在一起的时候,都恨不得自己能有多重影分身。
1255 0
工作要做对,更要做到位
日本的管理人员在布置工作内容的时候会把问题交待五遍:     第一遍陈述问题。             渡边君,到超市打瓶酱油?     第二遍重复问题。
1514 0
《软件工艺师:专业、务实、自豪》一2.1 面向流程的敏捷软件开发原则
本节书摘来华章计算机《软件工艺师:专业、务实、自豪》一书中的第2章 ,第2.1节,[英]桑德罗·曼卡索(Sandro Mancuso)著 爱飞翔 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1019 0

热门文章

最新文章