由“编程三件套”所引发的联想

  无论是面向对象编程,还是面向过程编程,始终离不开编程“三件套”——顺序、选择和循环

  如果说数据和数据结构是组成物质的原子和分子,那么顺序、选择和循环就是把这些原子和分子聚合起来的化学键(如离子键、共价键和金属键),这些化学键使原子分子完成了从量变到质变的过程。

  如果说模块是物质,那么不同模块的排列组合可以创造出无数种新事物;就像调制一杯鸡尾酒,甚至手法轻重,放酒顺序都会对结果产生影响。一杯完美鸡尾酒的形成或许要在无数次试验,无数种可能的碰撞中形成,亦或许只是灵光一闪就能调制出一杯独一无二的鸡尾酒,这种创造的过程是如此的迷人。

  如果说框架是配方,那么每一张配方都为我们指出了一个方向,它为我们整合出了创造某种事物所需的模块,只需要我们根据配方的提示,灵活使用这些模块,就可以创造出这种事物的各种变种。

  俗语有云:“治大国如烹小鲜”,同样的,可以把编程的过程看做烹制一道菜品。

  首先:如果有配方(框架),则我们根据配方进行烹制;

     如果没有配方(框架),我们就根据自己的喜好选材烹制(比如我比较喜欢青椒+胡萝卜+木耳+里脊肉,好吧,就是鱼香肉丝,另外,最好还要有:青红椒、姜母、蒜头、葱头)

  其次:确认了没有任何配方,好吧,终于可以开始我的最爱——鱼香肉丝了;(鱼香肉丝是我此次编程的一个目的,就是通过对青椒胡萝卜等模块的各种“加工”来完成鱼香肉丝这道菜)

  再次:做好准备工作——对青椒胡萝卜等进行切丝;对里脊肉切条,里脊肉切条后放入一定量地瓜粉和盐巴,加入少许清水,抓揉后腌制;备好酱汁(由地瓜粉、老抽、陈醋、清水搅拌调和而成,分量看个人);另对青红椒、姜母、蒜头、葱头混合剁碎处理

  (这一步对应的是调用各个模块,并选取自身所需的属性方法按一定规律,如顺序、选择和循环,进行组合,组合后定义成函数或新的模块,等待主程序调用)

  次之又次:开火热油,待油面起波,倒入腌制好的里脊肉条,锅铲翻炒至肉条呈白色即倒入剁碎的蒜头等调味品,待出现调味品特有的香味时将肉条与其一切翻炒,其后依次放入胡萝卜丝、青椒丝和木耳丝(放入时间自行考量),翻炒一段时间后再倒入备好的酱汁,翻炒均匀后添加一些清水,把火力调小,盖上锅盖等待一段时间

  (这步对应的是将之前处理好的函数和模块调入主程序中[【锅就是主程序】使用,并添加其他一些需要的代码(清水或盐巴味精),按一定的逻辑,如顺序、选择和循环,组成一段新的程序段)

   次而再次:开起锅盖,观气色、闻气味,看火候差不多了即可放入盐巴味精,然后翻炒均匀,或可根据需要再倒入些清水;拿出筷子,品尝味道:唔~略淡,盐巴,加!再尝:啧~略盐,清水,加!尝:咳咳~又淡了,盐巴,那个~加~~~~~~~~~~~~~~~~~~无限循环,嗯~完美了,起锅!鱼香肉丝这道菜就完成了,开动~

  (这部分对应的是代码运行调试,发现有Bug的地方,根据Bug提示修改代码;再运行,又发现Bug,修改;再运行~~~~~无限循环,直至代码运行通过,一个新的程序就编好了)

 

 ps:有些解释或许不那么符合逻辑,但是,重在理解嘛~

  发现还是写这种偏概念的软文比较舒服写意,写技术硬文的话,一个是底蕴不足,一个也是缺少相关经验,总逃不了生搬硬套之嫌,唉~慢慢摸索吧

原文地址:https://www.cnblogs.com/3fman/p/9184913.html