over 1 year ago

先欣赏一下成品图:

这是一个用木板拼接而成、以牙签固定部件、可以自动计时的计时器,工作原理是发条带动齿轮运转,设置时间为1-20分钟;

转动下面的指针便可以让它开始工作;工作时,上面的摆针左右摆动,配有调节摆动幅度的调节按钮,发出有节奏的“嗒嗒”声,再配上木质齿轮转动发出的声音,不得不感叹这是一个多么精致的手工装置啊!

现在来说说它是怎么拼装的:

它由107个部件组装而成;

说明书首先会告诉你需要准备哪些工具,虽然都是英文,但并不妨碍读懂说明图;

(环境和工具的准备)

整个装置被拆分成11个小装置,拼装每个小装置之前,会告诉你需要从107个部件中,找到哪几块现在需要的部件,然后在工具的帮助下,将11个小装置一一完成;

(项目拆解和分别实现的过程,每一个commit就是一个小装置完成的过程)

最后就是将装置拼接在一起,连接发条使它能自动运转起来;

(项目直接套用框架和程序也是为了让项目自动化完成我们的指令)

这个木质计时装置的每一个部件,都是我一个一个拼装上去的,看得见和看不见的地方,我都知道有哪些具体部件;我甚至知道哪一个部件并不是很牢固,因为我当时不小心弄坏了;

(这就像我们的肌肉练习,如果我们重复地手打rails101的代码,我们也会比较熟悉具体的信息,比如:CRUD)

你问我知不知道每一个部件的用途,很遗憾地告诉你,我并不十分清楚,我不知道有些部件的存在是力学原理还是只是为了美观,除非,我把它拿下来,再看看这个装置能否运转,如果能,那说明它不是必须的;

(想知道这个代码的用途,可以试试在完成的项目里,试着把它删除,看本地会出现什么提示错误,或者根本没有提示错误,只是少了某个信息而已)

所以如果我想知道这个部件的用途,我可以马上实践看到结果;但是如果我陷入了,设计师为什么要设计成这个样子的部件,那我肯定要失去手工拼装的兴趣了;

(所以不要纠结于代码为什么长这个样子以及是如何出现的这类深奥的问题,否则会失去学习兴趣)

当我多做了几个手工装置后,碰到了设计得好的,也碰见过坑爹的,吸取的教训是:花钱买精致才是对的,真的是没有对比就没有伤害,慢慢地便知道了优秀的设计应该是怎样的;

(当多做几个项目,会更加理解上面讲得代码细节和历史)

接下来我必须记录我踩的坑:

1、刚开始做时,兴趣浓厚,所以看说明图看得很仔细;但做后面的小装置时,感觉注意力不是很集中,没有看仔细,不是装反了就是顺序弄错了,这样不仅影响心情,还容易弄坏木质部件;

(第一次手打rails101代码就犯了不注意细节的毛病,不仅没把问题找到,还新增了不少问题)

2、因为第一个错误的影响,当我全部组装完毕后,才发现根本无法运转,某个地方被卡住了,然后又开始debug;

(如果在编程的过程中就出现错误,而不立刻修正,那么最终问题都会出现,导致debug成本更高)

3、因为舍不得拆解组装好的次品,想直接用工具在狭窄的空间修正,肯定是以失败告终的;

(具体在小步骤中才能快速发现问题)

4、于是开始拆解每个小装置,从上到小的取下,从最开始测试发条是否可以带动第一个齿轮工作,然后逐个将小装置加上去,直到被卡住,才发现自己有个部件在某个装置中装倒了,这才把问题给彻底解决了;

(做项目时,每做一个commit都该检测本地能否正常运转,不要等到做了很多步后,才发现出现错误)

虽然遇见了这些坑,但是就是因为不停地拆解又组装,让我更了解每个小装置之间是如何共同工作的;并且最终做出了成品,还是很有成就感的。

虽说掉进坑里是成长的必经之路,但是爬坑的过程和爬出坑才是成长的关键;我们很幸运有大神的指引,听话照做就是效率最快的途径,没有之一;

并且遇到问题,一定是自身犯了错误,不要怀疑大神的安排,不然又得自己撞得头破血流才懂得回头,不是说聪明的人是可以用别人撞得头破血流的经验而获得智慧的么?

← 超级行动力开营课 超级行动力第一课 →
 
comments powered by Disqus