这篇文章是关于《梦断代码》的第二篇阅读笔记,在整个阅读《梦断代码》的过程中,有四个字在我脑海中一直地徘徊——做软件难。
上一篇写了我对于《梦断代码》第0章中讲解的软件时间,以及对0这个数字的一些理解、解释、
下面是我对第1章“死定了”的一些理解。
作者第1章——死定了中所说的,就是在第0章中说的软件开发的时间一直无法估算,从而在书中提到该团队用了很多的方法去提高软件开发的效率速度,想法设法尽可能的去完成预定工作,但是都无一例外的失败了。所以说,做软件难。
可知道,这是世界上顶尖的项目开发团队,造成失败的原因也有很多。如书中系统架构师约翰·安德森说的:“原因很多。建造之前,先有蓝图。我们一直就没有蓝图,所以会碰上没有预料到的问题。除非你确 定自己能做出某个东西来,否则很难说会花上多长时间。”还有就是团队里的人员缺乏团队合作的意识,书中程序员杰德·伯吉斯说:“不确定因素太多,你所需的时间取决于其他人所化的时间。”这些都是团队项目开发中会出现的问题,还有就是不知道什么时候会冒出来的BUG错误,修复这些BUG真的很难,还有就是程序员的工作能力有限,无法按规定很好的完成任务,这些都是困难。 “CV”
这本书的开头就很有哲理,让我感觉到我们要在工作之前做好十足的准备,不然会很难很难。当然这一点不单单是针对软件工程师,而是针对整个世界中所有的工作,都要做好准备,只不过准备工作不同罢了。
“死定了”这句话我们在编程甚至生活当中经常说,而大多都是在快要交作业的时候,在第1章,作者也用实际经历来叙述。
通过这一章的学习,我学到的最重要的技能是正确预估自己做事的时间以及预算。如果不能进行很好的预估,很多后续问题就无法解决,更不能进行之后的工作,就会出现“死定了”的状况。
如果一个领导者不能准确估计并分配每一个人的工作,那就会导致团队合作出现问题,影响进度,就会出现“死定了”的状况。团队合作的时候,首先需要构建一个“蓝图”,估算进度,纪录缺陷列表,标记黑洞式缺陷。在实际开发过程中,编程只占开发时间的1/6,大部分时间都用来进行测试和修正缺陷。 “CV”
所以说由上所述:做软件开发真的很难。
人的思维是模糊的、抽象的,而软件是具体的、精确的。
小规模的开发是愉悦的,规模变得庞大时,复杂度就难以控制了。
写代码是艺术吗?艺术的学习需要长期投入专研,需要借鉴、欣赏其他人的作品。做软件的会这样努力完善自己吗?
大规模的软件,谈不上优雅的结构,只能像金字塔一样,由大量的石块堆砌,背后是无数奴隶的工作。我们现在的软件开发不正是如此吗?每天都在开发、调试、找Bug中度过,日复一日,完成了一个又一个的项目,最终得到只是一堆堆粗制滥造、自己都失望的代码。“CV”
我的真实想法是——做软件对我来说只能是为了达到平均的基础,而后续的生活,我估计是不会从事这个行业的,俗话说得好:三百六十行,行行出状元。
我相信,只要一个人肯努力,肯下功夫,一定会有好结果。