day25

                            《大道至简》读后感

  程序=算法+结构,存在的只是思想,算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。所以我们只要将这个程序的算法设计出来,并把结构描述出来,那么程序就定型了,剩下的就是体力活。在所有算法的描述中,有且仅有顺序,分支和循环这三种执行逻辑,简单如顺序表,复杂如树,图,他们的算法都是这三种执行逻辑来描述的。所以下学期同时讲述算法和结构的《数据结构》我会更加认真学习。

  编程作为一种行为时,我们只需要知道其逻辑方法就可以了,所谓编程实际上就是把一件事情交给计算机去做,你认为这件事情如何去做,就用“程序语言”的形式描述给计算机。如果你原本就不明白如何去做,那么你也不要期望计算机去理解你想要做什么。所以编程的第一要务是先把事情分析清楚,把事件先后的逻辑关系和依赖关系搞清楚,然后再去写代码实现。以前的我都是刚拿到题目稍微分析一下就埋头写,也不深入地把细节分析清楚,然后写完了编译运行,不对,改了再运行,不对再改再运行,相信很多初学者都是我这样的。但读了书发现他们这些大佬面对的都是代码量很大的项目,他们都是先把逻辑关系分析清楚再写的,我以后也会面对这些项目,所以往后我会先把事情分析清楚,把事件先后的逻辑关系和依赖关系搞清楚,然后再去写代码实现。

  书上说“当你熟悉了一门语言之后,你会发现,编程语言只有喜不喜欢的问题,没有会不会的问题,任何一种语言你都可以在两周的时间内掌握并开始熟练编程,因为任何一门语言,他们的底层函数库都是那样的相似,它们的API都是那样地依赖操作系统。A语言中有的,B语言中也”,可能我无法像书中说的那样能在两周内学完一门语言,但是我从大一都不知道C语言是什么到现在掌握C语言,C++,目前正在自学java,我确实感觉我喜欢上了编程语言,可能是因为我会这门语言吧,因为我感觉如果你都学不会这些语言的话你也不会产生喜欢的感觉,反而会有一种厌烦的情绪。我身边的同学大都也是这样,都在学习的过程中慢慢地喜欢上了编程。

  我发现只要是关于编程的,都有人说什么什么语言是世界上最好的语言,在我学CC++的时候时常也会在想哪门语言才是最好的,最实用的。但现在我发现,讨论这个问题的人好幼稚,语言就是因为有着不同的作用才会被创造出来,如果一门语言可以解决所有的问题,那这世界上为什么还有这么多的语言?况且你说的评判一门语言好坏的标准是什么,是一门语言的传播量?还是挣的钱多少?看完这本书后我更加确信语言没有好坏之分。

  周爱民老师说“如果一个人学了一年的编程,他的脑袋里还是晕乎乎的,不知道从哪里开始,也不知道如何做程序。那想来只有一个原因:他学了,也把知识学进去了,就是不知道这些知识是干什么的。或者说,他不知道各种知识可以用来干什么。”我感觉我现在就是这样一种情况,学了快一年的CC++,平常老师在PTA上布置的作业实验什么的那些程序都能写出来,但我确实不知道这些能干嘛,我也仅仅是像书中说的那样学了但是不会用。我相信也有不少人是我这种情况,所以接下来的学习生活,我因为更多地思考为什么,更多地学习新东西,新技术。

  团队需要制度,有了合理的制度才更方便管理。工程开始前需要明确角色定位,团队每部的管理也很重要,如果作为管理者,站在蚂蚁洞外充分观察自己的团队,清晰地了解了规律并分析其价值,最后再尝试改变一些负面的东西。使团队内人员的角色发生转换时要先有思想的转变,具有相关意识后才可任用。

  沟通上如何与客户交流,了解需求。使用客户能够理解和接受的方式,不要一味追求UML等,能有效率地解决问题才是正道。在需求阶段定制与客户的沟通计划,确立项目的实际目标及远期方向。做项目留下历史记录,为项目的后续开发、维护提供可能。

  人的精力终归是有限的,提出新的方法,解决的将是影响做事成效的根本问题。正如书中说的那样,正因为愚公太勤快了,勤快到今天可以比昨天多凿一倍的石头,所以他没有机会找到更快移山的方法。今后我也要经常复习自己所学的知识并且做好相关知识的分类及思考。

  “经验来源于回顾、理解与分析,而不是你将要写的下一行代码”。

  作为一个准大二的软件工程学生,初读此书,很多部分都是不理解的,自己也没有这方面的经验,感觉和他们这些大佬比起来真的差了很多很多,以上说的有的是书上的原话加上我自己的理解,虽然还很稚嫩,但相信下一次再读这本书的时候,相信我一定会受益更多。

posted @ 2021-08-05 17:29  lzzs111  阅读(44)  评论(0)    收藏  举报