读了邹欣老师著作的《构建之法》以及参考其他众位大神对于本书的书评后,我获益匪浅,具体如下:
首先我觉得邹老师这本书看起来很轻松,当然不是指没含量,实则恰恰相反,只是这里我要更多的突出是另一方面,那就是这本书给读者营造的氛围很轻松,让我不知不觉就看了好多页,内容很丰富,其中有很多的假设,难得的是每一个假设的情景都很活泼形象,与实际很贴切。同时这本书很好的解决的这个知识领域“从零到一”的问题,从一个微型项目最有可能的起步过程开始:组建团队、准备工具。完整的学习一个项目开发过程的指导,这样的设定保证了全书的内容专注于软件工程本身的学习,也可以让学习者从一个技术上对自己比较有利的项目。邹老师在书中也道出了软件工程课程在学习过程中,常常处于一个尴尬的位置。一方面我们宣称它非常重要,另一方面,我们却很难从中得到收益。一方面我们都反对形式主义的软件工程,另一方面因为难以落实,使得我们最终总是在实践中流于形式。
编程是艺术,开发是工程,比起一门编程语言,软件工程的入门过程,要难得多。因为一门语言,其语法、关键字、系统库和常用工具,总是确定而有限的。而软件工程,作为工程学的一个门类,它肩负着在软件开发的过程中,将种种条件确定下来,将资源安排妥当,使工作过程确定清晰,产出稳定可靠的责任。
以下是我在《构建之法》的书评中看到的,觉得挺好,就摘录了下来。
Build To Learn 到 Build To Win
Build To Win 是 《构建之法》一书的英文名。这本书很好的阐述了如何逐步改进软件开发过程,邹欣老师将不同的阶段和形态形象的区分为:
• Build To Learn:开发软件,构建系统的目的是做进一步的试验,试图发现客观规律或某个试验方法的优点与缺点。这些项目经常是科研论文的基础工作。
• Build To Show:为了突出地展现某个技术的作用,开发一些演示为目的的软件,这些项目很吸引眼球,经常获得新闻报道,但是功能未必全面。
• Build To Serve:为了服务一定范围的目标用户而构建的工具等,有时以公开的SDK形式发布。
• Build To Win:以在市场上赢得用户为目标而构建的软件。这也是种种科学发现,技术突破最好的试金石。这是我在研究院之外的十余年中做的最多的项目类型,也是这本书的英文名字。