暑假前,老师给我们推荐了一本书《大道至简》。当我没有读这本书的时候,我想我已经掌握了编程的基本知识。所以我没有足够的关心,也没有足够的期待。
我抱着这种态度读了这本书的序言,张涛的报道和作者的序言。我不得不佩服作者的大心肠和他的"道"。我在图书馆看过的所有关于软件编程的书,都有一大堆厚厚的,密密麻麻的单词。而这本书超过一百页。很好奇作者会说什么。所以我开始读这本书。
第一章,作者引用了愚公的故事,并讲述了他们是如何完成这个项目的。首先是为研究和决定项目目标聚集空间,然后开发适当的技术解决方案,然后分配大型项目分成小单位的作用,让项目按顺序完成。同时,作者还赋予了编程前的思考过程,即思考的重要性。在编写程序前,要先对事物的相互关系和相关数据的使用范围进行分析,然后按次序、季度和根结构依次完成。作者还说,语言是一种工具,没有必要讨论什么语言更好。工具只有在正确场合使用时才有效。与修理店的十字号螺丝刀及一字号螺丝刀一样,用一字号螺丝刀不能拧紧十字号螺丝刀,但很不方便,一字号螺丝刀没有十字号螺丝刀那么好。读了这些以后,我突然觉得前者的经验已使后来者少走很多弯路。
第二章,作者引用了李冰的故事,告诉我们真相。工作后认真工作的人,最好仔细思考工作并按照顺序进行。愚昧公式的工作精神确已被我们的学习所激励,但不鼓励出现时盲目的工作。这个节目必须要有明确的、系统的结构。将工作分成几个模块,模块分成几个阶段完成,同时作者通过《程序=算法+结构+方法》一书提出了实行公式。此公式将明确提出程序最重要的部分,即算法,结构和方法。
第三章,作者提到了团队,但众所周知,依靠个人力量开发大规模项目几乎是不可能的,因此,球队的重要性不言而喻。同时,作为团队经理,对于项目管理者来说,必要的基本质量发生问题时不逃避责任而承担责任。作者谈到了什么是合适的项目管理者,项目管理者首先要成立员工,分配适当的作用,然后开发管理机制,让团队更好地完成任务。其中,管理机制和相关的补偿与处罚体系尤为重要,一些与开发无关的职责,开发者不能拥有。作者谈到了管理新一组的另一种主要情况,作者提出了很好的建议,认为很有用处。
第四章,作者谈到了与顾客的沟通问题,并表示,"一种良好的沟通方法,可以在多个角色中使用。"而且,和顾客沟通时,不使用专门的语言,而是使用更多的形式。用户了解UML语言时,该图形可由双方使用UML语言。从沟通的角度出发,作者建议把重点放在目标上,在沟通前了解客户的公司相关机制、概念以及客户的需求,以便能够在沟通前获得详细的项目信息。您必须对通讯后客户提供的信息进行仔细分析,并设置系统结论和模块。作者还表示,在进行项目的时候,应该保管履历书和记录,以便新一代能够理解项目。
第五章,作者在过程中谈到了经典的“瀑布模型”,我认为不管哪种型号将焦点放在达成目标上,都应该结合实际情况,使用最适当的模型。
第六章,作者讲了程序、方法、过程、工程、组织和管理之间的关系,并向读者讲述了多年来的项目经验和经验。最重要的是,失去对球队成员的信任比失去上司的信任还要可怕。同时,作者也介绍了他形象的称为“牛屎图”的结构。
第七章,需要大量的专业词汇,ALM: Application Lifecycle Management(应用程序生命周期管理), AOP: Aspect-Oriented Programming(面向切面编程)。
第八章,作者再次提到了想法的重要性、RUP的优点、使用UML和作用的不同之处。
全书以“程序=算法+结构+方法”为中心进行,通过对项目完成和相关项目建设相关的诸多问题进行解释,向读者传达几年来的经验。不只是UML, XP, ALM及其他专业名称,在执行项目时也学到了很多方法,做项目时的注意事项。有不少我虽然在大学期间运用不到但在未来几十年能够用到,让我少走不少弯路。
读了整本书之后,我得到了很多知识。我还把我认为重要的东西记录下来。它们是许多编程后由其前任者总结出的黄金理念和智慧。我想读书就在这里。好好读书可以提高自己,发展自己。