《大道至简软件工程实践者的思想》读后感

发布时间 2023-07-29 10:43:49作者: 奶油冰激凌
    在这个暑假中,受老师的推荐,我阅读了《大道至简软件工程实践者的思想》这本书,我从中感受到很多,也给了我很多的启发,让我发现了很多的问题,也让我看到了这个专业实践者的智慧与思想,也让我清晰了前进的方向。
     通过阅读这本书,我对编程语言的理解更加深入,从书中我明白了当你熟悉了一门语言之后,你会发现,编程语言只有喜欢与不喜欢的问题,没有会不会的问题。任何的一门语言,你都可以在两周内掌握并开始熟练编程。因为任何的一门语言,他们的底层函数库都是那么的相似,而他们API都是那样的依赖于操作系统。A语言里有的,B语言里也基本都有。通常而言,语言的差别主要表现在适用范围上。一些语言适合做数值处理,小数点后可以精确到原子级,而小数点前则可以表达到宇宙之无穷;另一些语言则适合做图形处理,它的底层函数库比其它语言可以快上十倍或数十倍;还有一些语言则适合于做网页,要用它来做一个通讯薄软件都将是史无前人的挑战。
    成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。不但是悲其一叶障目,更要悲叹于那种大愚若智的自得心态。你仔细看看,在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单若顺序表,复杂如树、图,它们的算法都是用上面这三种执行逻辑来描述的。
     一个大的程序需要一个团队的合作,个人力量是必要的但团队的合作也是必不可少的,正如书中所说,一个人用20年时间自己制作出复杂、实际的工程,这是可以的。但是客户是不可能给与你这么长时间让你去自己做,将来复杂的程序只能是越来越多,自己的力量再大也不可能和一个团队比较。想要保持团队的通力合作,沟通是必不可少的,以前的编程都是一些小的程序设计,不需要团队的合作,但是以后的设计不是像以前的那样的短代码了,有时候会需要团队配合来设计制作,这时候就需要团队的沟通配合了,应该清楚的是保障每次沟通有效性的是重要的是,和同队成员是这样,将来和客户也是一样。
    在编程中会遇到各种各样的问题,当遇到一种方法做不通的时候要善于换一种思想来解决,编程不是只有一种方法才能做出项目。“你的书是乱的么?”这个问题侧面反映出你会不会分类整理,学了一年的程序语言,回顾一下,发现似乎并没有留下什么痕迹,这就是不会整理的。这和写程序一样,每次写完程序要回顾一下问自己几个问题“为什么这么做,有什么作用”“如果不这么做能有什么危险”“这个程序有什么问题怎么改更好”“遇到了什么问题,解决的方法”要学会整理,当时的学会并不代表着以后就会,运用整理能让知识更加牢固。
    知律之变,智者之道。要知道一个编程的本质然后去改变它才是智者的做法,未蕴而变,自欺也。知律而变其中的律可以理解为软件工程中的规律只有知道了律,软件工程才能做成活的。写程序要注意明白其后的道理,也要了解一些写编程的方法,从一些方法之后看出道理,才能应对很多的变化。
    课本上的例子可以参考,但是它并不是写实验的模板,只有自己思考过才能知道程序的结构是如何构造的,在写完一个程序之后回来和课本上的对比,想一想“他这么写可不可以”“这么写简单么”,学习课本上的那种编程方法,然后从中吸取精华并不断的优化自己的编程方法,从而让自己变得更加优秀,编程技术更高超。
   这本书使我受益匪浅,给我很大的启发,在此之前我还只是一名大一的学生,只会一些算不上代码的代码,这本书让我明白了编程并不是简单的敲代码堆代码,而是思想的碰撞,让我对软件工程这个专业的理解更加深入,我相信我将会秉承这些软件工程实践者的思想不断深入透彻分析,成为一名优秀的软件工程实践者,为后人理解软件工程和编程带来帮助。