阅读笔记之《大道至简》一
这本书是一个中国作家写的。我认为书中的很多观点,例子都更适合让我认识中国的软件行业。比如一开头作者就引用了愚公移山的故事来引出一个编程的根本:顺序、分支、和循环。软件开发确实像愚公移山,项目最初期目标庞大,要做的事情很多,完成之日遥遥无期,但如果坚持不懈且每天都有计划的进行,“子子孙孙无穷尽也”,庞大的编程任务最后一定会完成的。
作者的观点是,具有智商且有自主生活判断能力的人都可以编写程序。这一点我非常赞同。编程,编好程不是天才才能做的事,每一个都能做到,关键就是想不想做有没有耐心做了。而编程作为一种行为,只是需要将代码交付给计算机由计算机来执行。所以如果想要编程,一开始应先想好思路,而不是上来就敲代码,这是每次上课王老师都会提醒我们的东西,也是我最近逐渐体会的东西。没有思路,盲目实验浪费的时间远远多于你在写代码前思考代码设计思想的时间。程序=算法+结构,也就是说在程序中,代码并不是最重要的,最重要的是算法,是编程者解决问题的方法,而不是一行行毫无意义的代码。而算法,竟全部只表达了三种思想:顺序,分支,和循环。
李冰凿山,积薪烧之。领了开山的工程却不去像愚公那样老老实实的凿山,每天研究是否能烧穿石头,李冰真的是很闲。但是正因为这样的懒,李冰发现了能够快速开山的方法。人的精力终归是有极限的。提出新的“方法”,解决的将是影响做事成效的根本问题。而愚公可以多吃点饭, 多加点班,但突破不了人的精力的极限。懒人改变了将许多行代码写进一个文件的习惯,因为他们懒得查找,于是出现了模块,结构化编程。将代码分文件,分模块写,这样的话在学习C++时王辉老师曾说过,这是一个好习惯。
第三章讲的是团队。一个团队的构成因素很多,并不是一个好的管理一定会有一个好的团队。团队是至少以三个人为规模的。这有其合理性。而这时就需要人来管理,做管理d的不一定是编程最优秀,思路最灵活的程序员,但一定是最能最有勇气承担责任的人。但团队最重要的并不是管理,团队由好多因素组成,这个团队的体系制度,这个团队的成员角色,这个团队是否每个人在其位谋其事。这都是非常重要的。王老师的课上也讲过这些内容,讲过团队里有的几种人,也讲过一个团队各种可能的发展。项目经理一定是这个团队中最会打酱油的人,好的项目经理,他的酱油会把整个团队团结起来。