在前几周的学习中,我阅读完了邹欣老师的《构建之法》,也许读得很肤浅,但是我学到了很多东西,有关自己个人编程方面能力的提升、两人结对编程以及团队结对编程的知识和经验、软件开发的流程等相关知识,对自己在今后的学习以及团队合作有了很多的帮助。
在接下来的几周,我会对《梦断代码》这本书进行学习。在这学期的第一周,我制定了我的阅读计划,很高兴的是在《构建之法》的阅读中,我没有破坏我的计划。相信我也会坚持按照计划读完《梦断代码》这本书。
《梦断代码》向我们展示了硅谷一流软件开发者是如何进行产品开发的,把真实的人、事、技术以及产品的发展过程结合在一起,每个有志于开发畅销产品的程序员都值得耐心去品味这个故事。这是《梦断代码》的推荐序,让我对他有了很大的阅读兴趣。
在第0章讲解了软件时间。在本章,作者从自己的角度讲述了自己的故事,用自己的实际经历来讲述程序员的工作日常,对于软件时间的掌控。在这一章中,作者选择了把本章标为“第0章”,目的是指出计算机程序员和其他人的一处小小不同:程序员从0开始计数,而不是从1开始。这是因为计算机从0开始计数!所以程序员也训练自己这样计数,以免让他们要指示操作的计算机产生误解。身为计算机专业学生,我们对于计算机一切使用都是从0开始,从0起步,一点一滴的学习。
“死定了”这句话我们在编程的时候也经常说,大多都是在快叫作业的时候就会开始说“我死定了”、“我还没完成”之类的话,在第一章,作者也用实际经历来叙述。通过这一章的学习,我学到的最重要的技能是正确预估自己做某一程序的时间。如果不能很好的预估,很多后续问题就无法解决,更不能进行之后的工作,就会出现“死定了”的状况。如果一个领导者不能准确估计并分配每一个人的工作,那就会导致团队合作出现问题,影响进度,就会出现“死定了”的状况。团队合作的时候,首先需要构建一个“蓝图”,估算进度,纪录缺陷列表,标记黑洞式缺陷。在实际开发过程中,编程只占开发时间的1/6,大部分时间都用来进行测试和修正缺陷。
“继续努力,你们正在改变世界”,这是对阿尔.戈尔对程序员所说。大多数程序员所共有的理想主义直接源自于编程的辛劳和挫败。这种鼓励能使他们继续前行。 一个工程,即使有了好的想法,由于自身的原因选择放弃,比如自身精力有限,能力有限,也可能由于其他种种原因选择放弃,比如管理出现漏洞、资金不支持等等,而这其中绝大多数和技术无关。据书中讲,每年因软件开发过程中出现困难而中断的损失非常高。因此,开发过程中重要的是提前准备好,并且坚持下去。
在对这三章的学习中,我学习到了很多,记忆中最深刻的是,我们要学会进行项目估计,我明白了正确估计自己在实现某一程序所需的时间的重要性,避免出现“死定了”的局面。同时,我们要学会避免自己有理想主义,通过给自己信心让自己坚持下去。一个项目,一旦决定开始,就要提前准备好,构建“蓝图”,正确估计每个模块实现所需时间,记录缺陷表格,标记黑洞式的缺陷,解决缺陷,坚持到底,将项目完成。