在实现魔方的暂停功能时,其实是写了两遍代码。

第一遍的思路被实现后,发现没有达到预期目标,当时感觉很乱,所以删掉了那些代码。

第二遍的思路被实现后,达到了预期目标,发现思路2和思路1有很大一部分(80%)代码是重叠的,只是思路2的外部功能被定义的更加明确了。

 

其实,删掉的第一部分代码并不意味着那部分的逻辑有误,很可能是第一块实现的结构设计存在问题;这是第1个启示。

只有当外部功能定义被clearly defined时,才会知道自己要什么,用代码内部实现时才会有依据,既不多加,也不少减;因为多加浪费时间和精力,少减则意味着目标没有达成;而不多也不少,正是我一直向往的软件设计理想,这是第2个启示。

Advertisements