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

2.2 破除错误观念

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

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

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


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

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

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

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

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

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

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

第一,代码行数的多少。

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

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

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

第三,程序的注释。

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

第四,输入/输出语句。

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

第五,程序的样式。

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

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

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

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

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

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

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

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

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

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

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

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

  1. 《C程序员从校园到职场》一1.2 C语言的主要特点

    本节书摘来自异步社区<C程序员从校园到职场>一书中的第1章,第1.2节,作者 周兆熊,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.2 C语言的主要特点 C语 ...

  2. 《C程序员从校园到职场》带领大家从校园走向职场

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 七夕节 ...

  3. 《C程序员从校园到职场》第4章 变量和函数

    第4章 变量和函数 路人甲到电信营业厅去交电话费,给营业员说要充50块钱,那个营业员问了一句"How much?"路人甲心想现在社会真的与以往不同了,连一般的营业员都开始流行讲英语 ...

  4. 《C程序猿从校园到职场》勘误

    (本人正在參加2015博客之星评选.诚邀你来投票,谢谢:http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi) 自从< ...

  5. 《C程序员:从校园到职场》出版预告(1):从“高大上”到“柴米油盐”

    光阴似箭,日月如梭,转眼之间,我已入职三年有余.在三年之前,我还是一位对未来工作充满期待.心中既高兴又惶恐的在校学生:毕业三年之后的今天,我已成为职场"老人",对自己的工作有了深入 ...

  6. 《C程序员:从校园到职场》出版预告(5):一种情怀,几分感悟

    本书封面草图已出,我们一起来看一下吧. :) 回首自己在校的学习时光,感慨万千.在本科的时候,我算得上是标准的"好学生":专业成绩名列前茅,积极参加课外活动并获得了一些奖,成功保研 ...

  7. 菜鸟程序员的超神之路——从校园到职场

    码农咖啡馆近日收到一位大三学生的留言,表达了实习期的一些困惑:压力大.工作内容琐碎.导师又没多少耐心指点.看到这篇幅很长的苦恼,我突然觉得有责任去为他(她)做些事情.这世界上仅有极少的天分和运气兼备的 ...

  8. 从校园到职场 - 什么是职场经验

    从校园到职场 - 选择真的比努力重要么? 这篇文章的后续 经常遇到问题,学什么有用,或者从事这个岗位比那个岗位是否对未来有帮助,说实话,我觉得很多年轻人钻了不必要的牛角尖,他们对职场经验的理解,非常的 ...

  9. 从校园到职场 - 再谈切忌照本宣科

    从校园到职场 - 切勿陷入照本宣科 从CNZZ历史讲创业与打工的区别 这一篇建议也重温一下 又从知乎看到一个好玩的文章,有个实习生进入职场,说怎么巨头的技术这么这么烂啊,指出了七八个问题来.然后不多久 ...

最新文章

  1. android AVD运行chrome,contentshell,chromeshell失败解决方法
  2. Kafka设计解析(五):Kafka Benchmark--转
  3. wxWidgets:wxScrolled< T >类模板的用法
  4. SpringBoot 自定义Banner
  5. NgRx 里 first 和 take(1) 操作符的区别
  6. 基于.NET平台常用的框架整理(收藏)
  7. IPv4地址和IPv6地址的比较,IPv6地址及其表示
  8. Java 数组类型转字符串类型
  9. 两个多变量分布间的KL散度+变分子编码
  10. 前端工程精粹(二):静态资源管理与模板框架
  11. winhex 15.6 和 HexWorkshop 6.01注册机
  12. 面向对象七大设计原则
  13. Zoom支持自动生成字幕;SharePlay上线;Safari 更新导致大量bug |WebRTC风向
  14. 用java编程实现java代码的次行代码风格转化为尾行代码风格
  15. 人工智能AI实训平台
  16. appinventor拓展开发
  17. 计算机实验员技能大赛,“迎接挑战”计算机技能大赛圆满结束!
  18. openGL ES进阶教程(五)制作一个简单的VR播放器,播放全景视频
  19. C#使用随机数模拟器来模拟世界杯排名(一)
  20. 一些好用的APP分享

热门文章

  1. java使用内部类的好处及其初始化
  2. 电脑Bois中usb模式启动热键
  3. 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败
  4. 转: SQLite内建函数表
  5. ASP.NE浏览时 无法显示 XML 页
  6. Java中使用foreach带来的一些问题
  7. idea messages中文乱码_2019.2版本IDEA控制台中文乱码尝试了很多方法都不行
  8. php网页事件处理方法,PHP实现事件机制的方法
  9. 前端工程师如何进行职业规划?
  10. 资深前端开发工程师分享:关于前端学习路线的一些建议