早上刚上班,老大找到张大胖说: “大胖啊, 给你交代个事儿, 我们今天中午要聚餐, 软件园旁边有几家餐馆, 九头鸟, 大鸭梨,巫山烤全鱼, 你到大众点评上挨个调查下, 也可以问问去吃过的同事, 看看哪家的口碑好, 预定个大桌,我们有14个人, 然后用滴滴约4辆车, 每辆车坐3-4个人, 记住啊我们会在11点半出发。 “
大胖遵循老大的命令, 赶紧上网看点评, 问同事, 打电话预定座位, 用滴滴约车, 最后顺利的完成了任务。
如果老大是程序员, 大胖是计算机的话, 老大用的就是命令式的编程风格 ,指令清晰, 面面俱到。 在什么时间,做什么事情, 怎么做, 描述的非常清楚。
大胖这个计算机只需要遵循指令一步步完成即可, 执行过程中也可能出现异常,例如餐馆爆满,订不上座位, 那这段程序就要退出, 因为没有异常处理。
实际上, 老大肯定是不会这么费心的,一般是这样:
早上刚上班, 老大找到张大胖说: “大胖啊, 给你交代个事儿, 我们今天中午要聚餐, 你在软件园旁边找个好点的餐馆, 我们14个人, 11点半出发” 。
这就是声明式的编程风格, 老大不会说具体怎么做 (How), 只会描述要干什么事儿(What) , 剩下的具体步骤需要大胖去完成。