2.3 学生与职业程序员的区别?

GreyZeng 2021-08-07 15:59:51

原文地址
问题出自构建之法,第三版,P36页

显然从学生到职业程序员,并不是更加没完没了地写程序——花在写代码的时间反而少了很多

作者使用编码时间的对比得出此结论,但笔者认为此结论以偏概全。

假定图2-3中学生和工程师最后都完成了一份很好的个人项目作业。

学生写代码的时间是36%,工程师写代码花费的时间是21%。学生写代码花费的时间确实比工程师多,但笔者认为需要考虑的学生和工程师的代码能力和水平。工程师写代码花费的时间少,一部分原因是工程师在进行需求分析和具体设计时花费的时间比较多,使得代码写起来更加容易和顺畅,但另一部分也不可否认,即便在同样的需求分析和具体设计下,工程师和学生完成同样的编码,工程师花费的时间大概率会比学生花费的时间少,二者的代码能力和水平的差距还是存在的。那代码能力是从哪里来的?笔者认为是从学生到职业程序员这个过程中通过没完没了的写代码锻炼而来的。当然如果学生在这个过程中只是没完没了的写代码那么肯定是无法成为职业程序员的,但写代码是一个必备的过程。

此外,在图2-3可以看到工程师在测试(自测、修改代码、提交修改)这部分花费的时间是学生的1.6倍。为什么工程师花费的时间如此之多?显然是有工程师重视测试的原因,来保证程序的正确性和安全性,但考虑到工程师在编码时花费的时间很少,那么工程师在测试时所出现的Bug是否会比大学生的Bug更多,从而导致在测试方面花费的时间更多?

...全文
407 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 10-07
  • 打赏
  • 举报
回复

查阅资料,了解到PSP模型主要由时间,计划,进度,规模,缺陷和质量六种元素构成的金字塔模型,自底向上可分为三个等级:时间管理层、计划管理层和质量评估层。

对于书中得出从学生到职业程序员,并不是更加没完没了地写程序——花在写代码的时间反而少了许多。我个人认为职业程序员花在代码的时间并没有少了许多,而是因为随着知识的积累和不断地敲代码,编程能力相较于本科有了巨大的提升,在实现各种需求时能更轻松地完成并减少bug的发生,应该说效率提高了不少。

原文地址

GreyZeng 09-20
  • 打赏
  • 举报
回复

学生:有足够的时间从0开始一步一步很踏实的把技术学好。
职业程序员:在工作中几乎没有足够的时间让你从0开始,一步一步学习某一门技术。

GreyZeng 2021-08-07
  • 打赏
  • 举报
回复

以前我的观点是:职业程序员的代码时间少,但测试时间多,可能是由于编码质量的不足导致测试期间的bug更多,测试时间延长。但经历了两个阶段的迭代开发之后,我对学生和职业程序员之间的差距有了更为清晰的了解。在整个开发过程中,就亲身体会而言,需求分析、测试等方面要远比写代码实现这一过程更加重要,清晰的功能定义,良好的代码规范,完整且有效的测试是写程序的基础条件,如果前期没有进行充分准备,那么写程序实现时就会很低效:不得不花费更多的时间对功能进行更加清晰的定义,不得不对代码进行反复重构,不得不做出很多无用功和无意义的事情。

关于职业程序员的测试时间多的表现,在Alpha和Beta的测试阶段我都深有体会:测试很难面面俱到 。每一种情况都考虑到,每一个细节都进行测试,每一个小功能都进行全面的测试,在真正的测试中需要花费很多时间和精力。测试是软件发布前的必须工作,否则若有一个功能性bug,可能会造成很差的用户体验和其他不可磨灭的影响。
原文地址

相关推荐
发帖
构建之法

327

社区成员

程序员。写过:移山之道,编程之美,构建之法,智能之门。
软件工程软件构建团队开发 企业社区 北京·朝阳区
社区管理员
  • SoftwareTeacher
  • GreyZeng
加入社区
帖子事件
创建了帖子
2021-08-07 15:59
社区公告
暂无公告