@
glume 不停的做项目不一定提高慢,如果一直做有突破类的项目,而且基于一套代码的话,其实可以很容易的发现代码中可以重构和进化的地方,而进化和重构的需求就来自于不断增加的业务逻辑。
如果你觉得进步慢,那么可以试试业余时间写点什么代码,坚持一年下来其实也可以学到很多。举个例子:
我用python测试日常业务,刚开始只是尝试一下可能性。偶尔用Python解决了一个棘手的问题后开始用工作上的片段时间持续做了快3年(从不在家做)。期间的重构不计其数,目前基本上team里可以用来做很多事情了。
这段过程给我的经验是:
I 重构可以让烂代码慢慢成长为好代码,会让你心情愉快。
有些地方不对,重构一下感觉爽了。继续发现不对,继续重构。
反复重构会让后期的维护难度成指数降低。现在基本上添加新功能越来越直接和简单。
II 为了把某些目标做到最好,就必须舍弃其他目标。
如果我把日常片段时间用来织微博和闲逛而不是写代码的话,那么以上两个都只是存在于看书的时候获得的知识,很快的机会消失在记忆里。而不是变成可以指导我的信念。
感谢《松本行弘的程序世界》,让我对面向对象技术有了根本的认识。我终于可以把我之前的经验和面向对象技术链接起来了。
利用过去一周里的碎片时间,我基于vb.net的面向对象技术实现了测试工具的新手入门包。
这个过程更加有趣,因为我必须从0开始了解vb.net中面向对象有哪些可以用来实现我的想法。
同时必须不断的重构代码以实现更好的DRY。
在使用vb.net的过程中我意识到:
只有单继承。
vb是一个需要提前知道数据类型的语言,我大概是被Python惯坏了。
为了做更好的抽象和DRY我还用到了接口。
我以前从没想过我这样一个用c语言写嵌入式代码快10年的人竟然可以这么快就用来上了面向对象技术,我曾经以为我落伍了。
目前这套代码展示出的业务表述能力和工具易用程度已经让我的同事十分Happy。
写了很多,其实是想说,学习,思考,实践是一件终身要做的事情,把无聊的时间挤出来做有意义的事情对自己很有好处。只要坚持做,收获很多。