《构建之法》读后感系列之一

忽视了不代表不存在

软件对于计算机学院的我们来说已经不陌生了,课设、作业都是我们练习编程的基本途径,在不断适应这种模式的同时我们也渐渐丧失了自己对“软件”的思考,何为软件?何为工程?从大一时候编的小作业来看,完成了一个功能,我们说这已经是一个很原始的软件了,但是大一结束的时候,我们在假期安排了第一次课程设计,对于当时的我来说,一个软件完成一个功能已经是我的上限了,完成一个1000多行的“软件”简直就是做梦。当时的我不知道,一步步的动作要放在while循环中不断捕捉,获取,不过总算在同学的帮助下对1000行代码的软件有了一个整体的把握,知道该写些什么才能让整个程序运作起来了。当然了,之后的数据结构课设什么的随着知识的完善以及有了第一次课程设计的惨痛经历而变得不难么艰难了。但是,从这学期开始的课程设计开始,我们设计关注更多的是代码的规范,优化,还有数据的维护......没错,其实这次我们还是把它当做软件在编,只是注意到了构件,代码复用,及时添加注释等方面。

但是就像邹欣老师在《构件之法》中举的例子,阿超在为儿子编写出题工具的过程中,随着新需求的不断加入,一个工具的复杂度和时间需求就变得更高。这就会发生一些问题,如果我们在面对不同的需求时候,忽视了软件或者工程的定位,第一我们在分配人力的时候会出现问题,第二我们会在分配时间的时候出现问题,第三数据维护方面可能成为我们容易忽视的问题。所以通过这个生动的例子,我们可以把握一些之前被我们忽视的名词:程序,软件,工程。

原文地址:https://www.cnblogs.com/o-din/p/5595424.html