「不错不错,确实是如此。看来你已经找到窍门了。」
老爹满意的点了点头。
「这个和应用题差不多嘛,只要理清楚已知条件和求解问题,剩下的不就只是计算过程了么?」
我不置可否地说道。
「没错,再复杂的程序也逃不过这四个哲学问题。所以用一句装十三的话说,我们不生产程序,只是数据的搬运工。」
老爹打趣道。
「哈哈,难怪你经常跟一些叔叔阿姨说自己在搬砖。」
「可不是么?在这四个问题当中最重要的就要干嘛,因为它决定了程序开发的方方面面。你也知道,我们汉文化源远流长,博大精深,即便是相同的文字让不同的人来解读,可能会有多种结果,如果对需求有解读不清楚,或者是解读错误,这样编写出来的程序和真实需求相差甚远。
在真实的开发环境中,分析要干嘛这些工作由专业的人员来担任,这些专业人员就是和我们程序员相爱相杀的产品经理。」
「这个梗我知道!有个搞笑动态图就是产品经理让程序员修改代码,然后程序员亮出了藏在文件下边的菜刀,结果产品经理捞起了衣服,露出了别在腰间的手枪。」
「虽然是夸张了一些,不过基本上把程序员和产品经理之间的内心想法给描绘清楚了。当程序员面对产品经理无休止的更改和各种无理要求时,想掐死对方已经算是轻的了。」
老爹苦笑道。
「好了好了,继续哈。当我们分析完需求之后,就应该将需求拆解成一个一个的功能模块,然后再分析各个功能模块之间的关系以及每个功能模块的具体实现。
当然了,这些东西要到了后期你具体开发一个功能比较复杂的程序才能慢慢体会,现在只需要有个概念就好了。毕竟你现在看到的联系题或者是例程都比较简单,需求也很明确。
但是不要掉以轻心,习惯这个东西不是一朝一夕养成的。所以从现在开始,在你写程序之前都必须先分析出这四个问题的答案!」
老爹语重心长地说道。
「老爹,我知道了。」
「那好吧,年前的课程就暂时到这里了,等过完年,咱们再继续,争取利用年假把C语言学习完。你自己闲着没事儿的时候可以多看看这本书,有道是书读百遍,其义自见。
这本书我读了不下五十遍,每一次看,都会对C语言有一些新的理解。
以你如今的年纪和理解能力,不需要对每句话都求理解通透,主要是对C语言的基础知识体系有个大概的了解。所以一旦有不能理解的,直接跳过。
等到老爹给你讲完一遍后,你再慢慢理解,这个时候不懂得内容又会变少。
随着你每次读这本书,不懂得内容自然会逐渐缩小,最后到一个极小的范围。」
老爹说完轻轻地摸了一下我的头,然后就离开了我的房间,但是他的话却是在我的脑海中不断萦绕。