2.3 如何理解 PSP 收集的数据所反映的学生与职业程序员的区别?

GreyZeng GreyZeng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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

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

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

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

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

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

...全文
评论 6
收藏 已收藏
分享
返回顶部
GreyZeng
构建之法 606 成员 524 内容