博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么聪明的程序员会写出糟糕的代码
阅读量:4110 次
发布时间:2019-05-25

本文共 1323 字,大约阅读时间需要 4 分钟。

最近阅读一本书《软件困局:为什么聪明的程序员会写出糟糕的代码》,作者对自身30多年的软件开发经历进行回顾,阐述了大学教育与企业产品研发之间的巨大鸿沟,对程序员为什么会写出糟糕的代码,软件质量如此之差,软件开发为什么这么难...., 这些问题都进行了深入的剖析。

我自己从事一线软件开发,也已经20多年了。作者的很多经历,我自己也亲身经历过。因此,我准备将很多精彩的观点分享给大家。本文是第一篇。

在学校里,我们学习到一些编程相关的知识,并完成了一些上机作业。感觉到自己学会了很多东西。

但一旦到企业里,进行项目开发或产品开发实战,很多程序员就立刻表现出无法上手的状态,甚至很长时间都无法成为项目组的核心开发主力人员。他们发现,学校里学到的东西,对企业里面项目开发/产品开发基本没有太大的用处。

学校里教的是一个一个知识点,用简单的代码片段来展示这些知识点。但企业里所需要的:如何设计和编写大型软件,学校里都是没讲的。

并且学校里的作业,基本都是一个人独立完成的。但企业里面的软件开发,都是需要团队协作来完成的。团队中如何进行软件开发,需要哪些方法和技能,学校里也是没讲的。

这些缺失,是学校教学和企业软件开发实战之间的巨大鸿沟所在。

因此,程序员是在完全没有经历过职业培训的状态下,就开始了自己的职业生涯。在企业软件开发实战中摸爬滚打,跌跌撞撞,逐渐形成了自己对如何编写软件的理解。

但这种理解,完全是个体的理解。理解得是否正确、是否全面、是否深入、还有哪些没理解到的,这些问题自己都无法回答。

因此,有个词语非常扎心:野生程序员。

的确,从程序员的成长过程来看,程序员都是野生的。

大学里面教的东西,到企业里面基本都没用。而企业需要的是你的产出。企业很少会培训你,根本不会教你如何学会设计和开发程序。程序员在这种生存竞争下,只能凭一己之力,东拼西凑,乱搞一通,然后被领导一通臭骂,再不停修修补补。在不断碰壁、不断试错过程中野蛮生长。

因此,软件这个行业,与其他行业相比,是个极其怪异甚至荒谬的存在。

比如医学,一个学生毕业后,我们就相信他具备了作为一个医生的能力。他拿到行医执照后自己就可以开一个诊所了。会计、律师、厨师、面点师...., 都是这样的。

但软件行业,就完全不同。你从软件专业毕业后,没有人相信你已经具备了软件开发的技能(你自己也不信啊)。你考了一个程序员证书,对企业来讲就是废纸一张,啥用也没有。面试的时候,面试官问的问题,你都不会啊。

你毕业了,也考证了,但你还啥也干不了,啥也不是啊?这是咋回事?

甚至你工作了很多年了,你是你团队的主力开发人员吗?你觉得自己的水平在业界是哪个段位的?如果工作了很多年,还没有成为大牛,到底原因出在哪?

另外,当我们完成一个软件版本开发后,当客户问:这个软件的质量水平是怎样的?这个问题,让所有的软件从业人员都无法回答。

但我们看看其它行业,比如修建一座大桥,完工之后,项目负责人能够清晰说出,这个桥梁的承重是多少,能抵抗多大的风力,能经受多大规模的震动,设计寿命是多少年。但我们对软件,却无法给出其质量的指标数据,这让所有软件开发人员都尴尬不已。

我的微信号是 实力程序员,欢迎大家关注我。

转载地址:http://utlsi.baihongyu.com/

你可能感兴趣的文章
Gray Code 格雷码
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
web.py 0.3 新手指南 - 如何用Gmail发送邮件
查看>>
web.py 0.3 新手指南 - RESTful doctesting using app.request
查看>>
web.py 0.3 新手指南 - 使用db.query进行高级数据库查询
查看>>
web.py 0.3 新手指南 - 多数据库使用
查看>>
一步步开发 Spring MVC 应用
查看>>
python: extend (扩展) 与 append (追加) 的差别
查看>>
「译」在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢?...
查看>>
谷歌阅读器将于2013年7月1日停止服务,博客订阅转移到邮箱
查看>>
浅谈JavaScript的语言特性
查看>>
LeetCode第39题思悟——组合总和(combination-sum)
查看>>
LeetCode第43题思悟——字符串相乘(multiply-strings)
查看>>
LeetCode第44题思悟——通配符匹配(wildcard-matching)
查看>>
LeetCode第45题思悟——跳跃游戏(jump-game-ii)
查看>>
LeetCode第46题思悟——全排列(permutations)
查看>>
LeetCode第47题思悟—— 全排列 II(permutations-ii)
查看>>
LeetCode第48题思悟——旋转图像(rotate-image)
查看>>
驱动力3.0,动力全开~
查看>>
记CSDN访问量10万+
查看>>