为什么人跟人之间编写出来的代码有这么大的差异,或者说,为什么存在小白和专家的区别?编程确实不复杂,复杂的原因是很多人不能把问题思考周全,我举个例子你就知道了:
做饭 = {
开始() {
煮饭(); 买菜(); 切菜(); 做菜();
},
煮饭() {},
买菜() {},
切菜() {},
做菜() {
if (家里没有油了) { 买油(); 炒菜(); }
else { 炒菜(); }
}
}
做饭->开始();
我们定义了一个程序实体叫做「做饭」,包含了几个步骤,开始、煮饭、买菜、切菜和做菜,在编程语言里头,我们把「做饭」称之为对象,这几个步骤称之为方法,「做饭」这个对象拥有 5 个方法,我们可以一个个地调用它。首先我们调用了「开始」方法,在这个方法里,又依次调用了「煮饭」、「买菜」、「切菜」和「做菜」。
在「做菜」方法里,我们看到了一个细节,那就是“家里没油了”,咋整,这个人是这么考虑的:先去「买油」,然后回来「炒菜」。很显然,这人不靠谱,你看,菜都要下锅了,才想起没有油。但是下面这个人就不一样了:
做饭 = {
开始() {
煮饭();
检查结果 = 检查();
买菜(检查结果); 切菜(); 做菜();
},
检查() {
if (家里没有油了) { 买菜的时候要买油 }
if (家里没有辣椒了) { 买菜的时候要买辣椒 }
},
煮饭() {},
买菜() {},
切菜() {},
做菜() {},
}
做饭->开始();
他的程序里多了个步骤叫做「检查」,在出门买菜之前,先在家里扫一眼,缺了什么,用小本本记下来,然后「买菜」的时候,带上这个小本本,这样「买菜」就不会有遗漏了。
你看,这就是我们所谓的小白和专家,他们的区别就是后者能够把事情想得更加周全,在解决问题的时候,不遗留任何细节,并且呢,能够让事情可以更流畅、更快、更好地得到解决,消耗的资源最少,解决的问题最多