利用暑假的时间,终于读完了周爱民老师的《大道至简》,老师的思想在本书中体现的淋漓尽致,通过老师的分析使得我对软件工程了解的更加深入;
老师从最基础的编程讲起,什么是编程,又说到了什么是语言,提及程序的简单定义 。程序=算法+结构;在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。
老师说: 算法是对一个程序的逻辑实现的描述,而结构是逻辑 实现所依附的数据实体。只要开发人员将这个程序的算法 设计出来了,把结构描述出来了,那么程序就已经定型了。
《大道至简》这本书的思想深深吸引了我,在阅读的时候,似懂非懂。但当真正的平静下来去思考的时候,发现一切又是那么的合乎道理。从最基础的编程,到工作就业中的问题;看的更加透彻的是,编程根本不是程序开发人员的最终目的,实现客户的需要,达到客户的要求,才是开发人员的最终目的;没有人会注重过程,更没有人在编程中管你出什么错误,要的只有结果。你不能要求客户去学C,去了解各种语言,自己要做的就是选择合适的语言,达到客户的要求;
在日常生活里,绝大部分人是恐惧编程的,因为都在找模板,找一个类似的,然后看看是否达到老师的要求,以完成作业为目的去应付老师;没有人喜欢去编程,甚至很多人都无法以平常心来面向编程;原因想必就是以前编程的时候一直在借用模板;等你找不到模板的时候开始慌了,不知道该怎么去做,对一个程序无法下手,但这个时候你又不得不去完成作业,久而久之就产生的恐惧、厌恶的心理;
读了老师的思想,强调我们不要刻意的去找模型、模板。一个程序有什么还是那句老话 程序=算法+结构;结构有且只有三种;选择一个合适的时候将不同的结构应用上去;老师提到,在编写程序的时候,你要试着将程序分化;就像最开始提到的愚公,也就是我们都知道的愚公移山故事,里面就有一个简单的循环结构存在;并且逻辑可行;最终可以成功实现程序;将大山移走;
老师还有一个思想点吸引了我;那就是懒人创造了更简单的方法;愚公很勤奋,但他也仅此而已;但观李冰,他一定很懒,懒到不想动。一次偶然的机会让他发现了火可以烧碎石头;从这个对比中,读出了在编程之前一定要做更加多的思考,这样可能会使你的效率更高;
团队管理方面,肯定人人都想做一个经理,不单单想做一个开发员,更想着做一个组织者,去带领一个团队,去做项目;但是经理的眼光必须毒辣,必须了解每一个开发员,还有的就是一定要会与人沟通和拥有强大的理解能力;这样既可以了解客户所需,又可以及时的将任务分配下去;经理这个职位太重要了;但最开始犯错是难免的。以后要做一个好的组织者;
强调和自省,让自己认识到语言只是一门工具,是我们达到目地的方式。猿之于为人,“学会制作和使用工具”是最重要的标志。成为一个优秀的程序员也是如此;
思考问题的方法可以是由点及面的,也可以是统揽全 局的。换成业界最常用的词汇,就是“自上而下”还是“自 下而上”的区别;我们必须学会思考和有自己独特的思想;
牛屎图中的工具、方法、过程这三要素是软件工程的三要素。他们会相互作用的;最后强调,在完成客户提出要求目标的同时,也有保证较高的质量;
客户看中的只有质量、时间和他们付出的资源;要将三者进行平衡。然后完成目标!
我们要了解到软件工程是十分的灵活;是没有规律可循的!