最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就相到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种:
简单地来说,就是:
两种不同的走向,上面的第三点和第四点,算是获得一些更好的效果。开始之前,让我们再次讨论一下情绪周期的问题。 编程与情绪周期如果你每天都有很多可支配的自由时间时,你也会观察出情绪周期这件事。
这种周期看上去就好像是一图所示,但是总体上好像会长一点。 这一点在我的GitHub上看起来就有点明显了,至少它是一年的一个周期: 对于我来说,我会交替写代码和写博客、电子书。因为它以一定的规律在迭代着:
主要还是集中在前两点上,代码练习与理论学习。 练习与计划持续性对于练习来说,需要保持相当高的持续性。很明显的一点是,参考我的GitHub的连击。对于我的连击来说,主要有下面的两个意图
如果有一个很好的动机来驱动自己去练习编程,那么GitHub的连击就是一个很好的入口。当然,GitHub已经不再显示连击多少天了。 在我们达到所谓的10000小时之前,我们还需要这么久: 这只算上了工作上的时间,如果我们还有一半的时间也在练习上面,那么就会缩短为2.4年? 答案是:不可能!
为了保证更好的练习效果,我们需要在每次短暂的时候之后,休息一段时间。为了实现这个我们可以用两种方式:
不断地休息,才能让下一个练习走得更往,这样才能保证好的练习效果。 练习之前,你需要知道三件事
对于不同的类型来说,你需要不同的练习计划。 编程:使用新技术、新思想在练习编码的过程中,使用一些新的技术和新的编程思想可以帮助我们走出舒适区。当然如果你要在项目上用上新技术的时候,你也会采取相似的练习来做这样的事。而这也是大部分人尝试新技术的开始,如在每个新的编程语言的入门手册上,他们都会来一个经典的: 然后我们就会做一些类似的项目来快速上手这个语言,如以前我们用Java实现了一个Blog系统,我们就可以用Node.js实现一个Blog系统。同样的,我们也很容易将其应用到不同的语言环境中。 假定,你在A项目上使用了Java语言,而你们的新项目使用了是类似于A的业务,那么你就可以采用新技术或者思想来实现。 理论:练习和总结理论本身有可能很难理解,从而很难应用。因此,在学习理论的最好方式还是应用,而要构建一个好的场景并不是一件容易的事。 我们需要不断地探索过别人实践过的一些例子,模仿一些相似的用法,然后创建自己的类似的项目。同样的,我们还是可以基于我们以前实践过的项目,在那之上做一些改进来学习理论知识。 理论还有一点比较麻烦的是,记住它。在我们练习了很多之后,我们可能很快地就忘记它了。因此,你需要笔记或者博客来做这样的事。 不过,我还是觉得博客比私有化的笔记会有一点,好的东西应该分享出来。既然你都已经保存了,那说明它很重要。既然它对你很重要,那么它也对别人很重要,要不你怎么会保存呢? 最好是能写一些文章来发现自己了解了多少,如果是一系列的理论,那么就可以整理成电子书了。 |
|