干IT的都听过或看过一句话,别发明重复轮子。可我现在却想说,一切从模仿开始,我要创造轮子。
不知道大家喜欢看动画片不,有两部我觉的很不错,反复看了几遍,内容还是挺激励的,一个是《棋魂》一个是《史上第一弟子》,在史上第一弟子动画片的最后一集,男主角爆发了自己的潜力,被对手嘲讽成只会模仿的猴子时,有一句话:所有的成功,一切从模仿开始。
想想那句名言,不要发明重复轮子。这句话的出发点是什么?他的出发点在于实际的生产环境,当你处于生产环境时,时间很紧,要求很高,变化很大,如果你还是从头来发明自己的代码功能,那不仅仅是浪费时间,甚至于发明出来的代码还或能是具有很多隐患的漏洞。这时,就要充分灵活的选择和使用已有的轮子了。而且这时不但要用已经经过考验的工具,还要能广泛的选择工具的本事了。
然而,在业余时间,想要提高自己的代码技术能力,来的最快的是就是看去学那些高手们写的代码。不仅仅是要学,看的再多,看的再精那也只是别人的,只有自己动手才会知道代码的美,高手的强,程序的复杂,自己的欠缺。模仿不是copy,是在看懂了别人的代码,想通了别人的思路,再加入自己的思想复现一遍。如果不看原码,在复现的过程中,你会常常发现自己经常性的卡壳,不是某种逻辑没考虑到,就是不知道再如果深入,等自己真的复现了一遍后,才会发现,牛人遍地都是,我们还是井底之蛙,当然,现在已经向井口又蹦了一步了。
有时看到身边的朋友很闲,他经常问我:“你怎么那么忙?”,我也反问他:“你怎么那么闲呢?”“没事可做啊”“那你干嘛不写个和sping相似的山寨框架出来自己用啊?”“网上都有现成的,还写什么,拿来就用啊,那个很难写,我写不了,不想写,不要发明重复的轮子!”。晕了,说老实话,他技术也只是平平了,再这么下去,他的技能是越来越难进展了,劝过几次,到现在也没反应,算了,走我的路,大的开源是很难模仿,那小的工具也不行吗,前段时间我就仿SQLyonLet做了个debry的界面工具,虽说功能不是很完善,但我自己用已经够用了,而且从中也学了不少的知识。
下一个模仿的是log4j,自己去把他再实现一遍,准备用两种方式,一种用自己的io流实现,一种用java的log来实现。模仿加创意的思想,很期待它会出现个什么东东。