《C程序员从校园到职场》一第2章 学校到职场2.1 认清自身不足

第2章 学校到职场

C程序员从校园到职场
踏出校门,对于我们整个学习生涯来说,只是“万里长征走出了第一步”。为了使得之后学习和工作的道路走得更加顺畅,我们需要认清自身所学知识的不足,我们需要破除一些有关软件开发的错误观念,我们更需要在学校里面就未雨绸缪地开始培养工作所需的一些技能。

2.1 认清自身不足

我在走出校门的时候非常“轻狂”,认为自己在学校里面已经学得够多了,工作就只是“小菜一碟”。但在工作中屡次碰壁之后,我才发现自己当时的很多想法都是不成熟的。我们踏上工作岗位,一切几乎都要从零开始。

对于大家“非常熟悉”的C语言来说,我们在学校里面学到的只是皮毛,远远不能满足实际软件开发工作的要求。

我们在学校里面学到的典型的C语言程序如下:

include <stdio.h>
void main()
{
   float fac(int n);
   int n;
   float y;
   printf("input an integer number: ");
   scanf("%d", &n);
   y = fac(n);
   printf("%d!=%10.0f\n", n, y);
}
float fac(int n)
{
   float f;
   if(n<0)
   {
      printf("n<0, dataerror!");
   }
   else
      if(n == 0 || n == 1)
      f=1;
   else
      f=fac(n-1)*n;
   return(f);
}

对于以上程序,至少存在如下几个问题。

第一,变量命名不规范,而且没有初始化。对于该程序,main函数里的变量n、y,fac函数里变量f的命名均不规范,不能让人一眼就看出它是什么意思、要做什么操作。这对于一小段程序来说,影响还不是很大,但如果代码行数达到数千行甚至上万行,那么阅读起来就比较的费力。另外,以上3个变量只是定义了,并没有初始化,这在实际项目中也是不允许的。

第二,函数的命名不规范,且没有在主函数开始之前进行声明。本程序中的fac函数要做什么操作?通过阅读代码,我们知道该函数的功能是计算一个整数的阶乘。在实际项目中,函数命名非常重要,因为很多项目涉及函数个数较多,如果不能通过函数名称来了解其作用,而必须通过阅读代码才能获悉,那么工作效率是很低的。此外,我们一般不在函数调用者的内部来对被调函数进行声明,而是将声明放在外部,最好新建一个头文件(.h文件)来对程序里出现的函数进行声明。

第三,程序代码排版不工整,“ if…else”语句书写不规范。在fac函数中,代码的排版不工整。第一个if语句下面的大括号应该与“if”关键字保持在同一列上,第二个“else”关键字应该与第二个“if”关键字保持在同一列上,“f=1;”和“f=fac(n-1)*n;”应该再缩进4个空格。另外,“if”和“else”关键字下面的执行语句不管有多少行,都应该用“{}”括起来,以方便阅读。

第四,程序注释过少,函数开头没有注释。一般说来,在程序的关键语句的前面或右边,都应该添加适当的注释,这对程序的理解有辅助的作用。函数fac的前面应该加注释,说明此函数的功能、输入/输出参数、返回值、修改记录等。在整个程序的开头也要添加版本信息、修改记录等注释信息,以方便日后查阅。

第五,程序中出现了“printf”、“scanf”和“main”函数。这是大家都习以为常的,但在实际的项目中,几乎不可能出现这3个函数。因为很多公司都有自己的开发平台,而且代码都达到数千行,甚至上万行,再加上大部分都不是基于VC开发的,你在哪里去输入,又在哪里去看输出呢?我一进公司,最开始看到程序,就想去找“printf”、“scanf”和“main”,但这是徒劳的,因为根本就没有。关于输入/输出,开发中会有专门的消息处理流程来处理,大家需要知道的就是一个完整的代码工程中不一定非要有上面的3个函数(但本书为了给大家介绍C语言的相关知识,在程序仍然使用这3个函数)。

短短的几十行代码,就出现了这么多大家“没有想到”的问题。

看到以上的分析,也许你会很惊慌:我以前的C语言难道是白学了?

非也!我举这个例子,不是为了给大家当头一棒,让大家觉得软件开发是多么高深和艰难。我只是想说明,对于C语言,我们还有很多不知道的东西,即使是自己知道的,也与实际工作存在较大的偏差,因此大家要虚心学习。我和大家一样,也经历了最开始的惶恐阶段,而后才逐渐去改变了自己“根深蒂固”的观念。“知错能改,善莫大焉”啊!

时间: 2024-10-13 13:52:31

《C程序员从校园到职场》一第2章 学校到职场2.1 认清自身不足的相关文章

《C程序员从校园到职场》一导读

前言 C程序员从校园到职场 在刚入职的时候,我与一个工作多年的老员工之间有以下一番对话. 老员工:"你的C语言功底如何?" 我:"还可以,考试考了九十多分." 老员工:"你觉得编码规范重要吗?" 我:"什么编码规范?我之前没听说过呢." 老员工:"你觉得把代码写完并运行通过,你的工作就算结束了吗?" 我:"差不多吧,在学校里面程序运行没问题就OK了." 老员工:"对于测试,你是

《C程序员从校园到职场》一第1章 概述1.1 C语言的发展历史

第1章 概述 C程序员从校园到职场 本章介绍C语言的发展历史和主要特点,以及实际项目工作中软件开发工程师常用到的工具软件. 1.1 C语言的发展历史 1.1.1 C语言之父 C语言是1972年由美国贝尔实验室的计算机科学家Dennis Ritchie(丹尼斯·里奇)设计发明的.因此,Dennis Ritchie被誉为"C语言之父"(他已于2011年10月9日去世,享年70岁).图1.1所示的人物就是Dennis Ritchie. 图1.1 "C语言之父"Dennis

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

七夕节刚过,就有好消息传来:本人新书<C程序员从校园到职场>正式出版并在各大电商平台上发售了! 下面,让我们一起来欣赏一下纸质书的"风采"吧. 本书目录 第1章 概述 1.1 C语言的发展历史 1.2 C语言的主要特点 1.3 常用工具软件 1.4 小结 第2章 学校到职场 2.1 认清自身不足 2.2 破除错误观念 2.3 工作所需软技能的培养 2.4 小结 第3章 程序的样式 3.1 头文件 3.2 源文件 3.3 空格和空行 3.4 大括号 3.5 注释 3.6 小结

《C程序员从校园到职场》勘误

(本人正在参加2015博客之星评选,诚邀你来投票,谢谢:http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi) 自从<C程序员从校园到职场>一书上市以来,受到了大家的欢迎,很多读者通过各种途径向我反馈了读书心得,在此表示感谢.但"金无赤足,人无完人",书中的内容也存在一些纰漏.本文用于持续收集目前发现的本书的一些问题,也希望大家将对本书的一些意见或改进建议及时告知我. 本书的勘误如下: 1.P5,

《写给程序员的数据挖掘实践指南》——第5章 分类的进一步探讨—算法评估及kNN

第5章 分类的进一步探讨-算法评估及kNN 写给程序员的数据挖掘实践指南 回到上一章中关于运动员的例子.在那个例子中我们构建了一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 因此,左图的Marissa Coleman身高6英尺1英寸,体重160磅.我们的分类器能够将她正确判断为篮球运动员: >>> cl = Classifier('athletesTrainingSet.txt') >>> cl.classify([73, 160])

《写给程序员的数据挖掘实践指南》——第1章 数据挖掘简介及本书使用方法

第1章 数据挖掘简介及本书使用方法写给程序员的数据挖掘实践指南假想150年前一个美国小镇的生活情形:大家都互相认识:百货店某天进了一批布料,店员注意到这批布料中某个特定毛边的样式很可能会引起Clancey夫人的高度兴趣,因为他知道Clancey夫人喜欢亮花纹样:于是他在心里记着等Clancey夫人下次光顾时将该布料拿给她看看:Chow Winkler告诉酒吧老板Wilson先生,他考虑将多余的雷明顿(Renmington)1来福枪出售:Wilson先生将这则消息告诉Bud Barclay,因为他

《代码整洁之道:程序员的职业素养》一一第1章 专业主义

第1章 专业主义 代码整洁之道:程序员的职业素养 "噢,笑吧,科廷,老伙计.这是上帝,或者也可以说是命运或自然,跟我们开的一个玩笑.不过,不管这家伙是谁或是什么,他真幽默!哈哈!" --霍华德,<碧血金沙>这么说,你确实是想成为专业的软件工程师,对吧?你希望能昂首挺胸向世界宣告"我是专业人士",希望人们满怀尊重地看着你,充满敬意地对待你.希望母亲们会指着你告诉自己的孩子要成为像你这样的人.这些都是你想要的,对吧?

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

2.2 破除错误观念 要让我们做事情的能力能够有所提升,观念的转变是关键. 从学生转变为职业人的过程是很艰难的,因为我们要与自己积累了多年的"老毛病"作斗争,这些"老毛病"包括:做事拖拉.不守时.不遵守规则.怕吃苦等.就像发射火箭卫星一样,摆脱重力的束缚所花费的燃料是最多的,一旦成功,那么以后的流程就会比较轻松了.所谓"万事开头难",也就是这个道理. 那么,要想掌握工作中C语言的基本技能,我们需要破除哪些错误观念呢?如图2.1所示. 图2.1 我

《C程序员从校园到职场》一2.3 工作所需软技能的培养

2.3 工作所需软技能的培养 在新员工刚进入公司的时候,一般都会有一段时间的试用期,也叫做培训期.对于大部分IT企业来说,这个试用期大体分为3个阶段:第一阶段,企业文化.办事流程.公司业务范围等的培训:第二阶段,工作所需专业知识的培训:第三阶段叫做"以师带徒",也就是由一位老员工带着来从事具体的开发工作. 但是,我们不能奢望通过这个短短的培训期就能够将工作中所需的技能全部掌握,因为学习重在长期的积累,个人习惯的改变更是一个漫长而痛苦的过程.这就需要我们在学校里面就有目的性地培养工作所需