之前,接了个项目,里边有一个功能的逻辑比较复杂,其中涉及好几十个表之间的相互联系,直接把我搞得头异常大,后来,跟我们的一位大神级全能程序员交流之后,发现其实这个功能不难,只是我的思维有点问题。(由于思路涉及其他公司机密,故本文中不再讨论那个功能)
例如:小明接到一个出差的任务,需要去北京三天。
我最初的思路:小明应该去整理行李,那好,都需要哪些东西呢?换洗衣服、钱包、身份证。。。。。。然后要选择交通工具,选哪一种呢?需要登陆12306看看火车,再去看看飞机,再对比一下汽车。。。。。。然后就是到北京了,怎么找到定好的酒店?先吃饭还是先洗澡。。。。。。
问题:这种思路就是直接通过程序执行的前后顺序来一步步的去为每一步设定好动作和为下一步做准备,这就有点像面向过程(水平有限,此处的面向过程是从字面上理解的)的思路,很容易出现顺着这条路走下来,走着走着出现一个小问题,整个步骤就需要重新规划。这也就是封装被提出来的原因吧?
交流之后的思路:
出差去北京:
1、整理行李
1)换洗衣服
2)钱包
3)身份证
2、选择交通工具
1)对可能乘坐的交通工具的对比
2)买票
3、在北京期间的时间规划
1)第一天去哪
2)第二天干嘛
3)第三天
这样一来,整个思路就非常清晰,有点像小学时做数学题,把公式写出来,然后把数代入计算就行了
这种思想不管是写程序还是平常生活都非常有用,在此与诸位共勉