文档章节

关于编程,你的练习是不是有效的?

问题终结者
 问题终结者
发布于 09/23 00:56
字数 1584
阅读 42
收藏 21

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的?

对于我来说,提升技能的项目会有四种:

  • 纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。
  • 理论驱动的项目。这一类的项目会比较少,因为我们需要牵强地驱动出这样的项目,然后以理论的方式驱动它。
  • 兴趣结合理论型。有一个长长的Idea列表,难免有些时间会和将要学习的理论有很大的交集。这种的练习效果是最好的。
  • 整合成文章、电子书。这一步主要是为了分享、巩固知识点、讨论。

简单地来说,就是:

  • 刻意的理论练习
  • 兴趣实践

两种不同的走向,上面的第三点和第四点,算是获得一些更好的效果。开始之前,让我们再次讨论一下情绪周期的问题。

编程与情绪周期

如果你每天都有很多可支配的自由时间时,你也会观察出情绪周期这件事。

所谓“情绪周期”,是指一个人的情绪高潮和低潮的交替过程所经历的时间。

这种周期看上去就好像是一图所示,但是总体上好像会长一点。

这一点在我的GitHub上看起来就有点明显了,至少它是一年的一个周期:

关于编程,你的练习是不是有效的?关于编程,你的练习是不是有效的?

对于我来说,我会交替写代码和写博客、电子书。因为它以一定的规律在迭代着:

  • 适合写大量代码的日子
  • 适合学习理论的日子
  • 适合玩游戏《文明》、看电影、睡觉的日子。一般来说,这种事件的出现天数比较少。

主要还是集中在前两点上,代码练习与理论学习。

练习与计划

持续性

对于练习来说,需要保持相当高的持续性。很明显的一点是,参考我的GitHub的连击。对于我的连击来说,主要有下面的两个意图

  • 装逼
  • 驱使不断自己练习

如果有一个很好的动机来驱动自己去练习编程,那么GitHub的连击就是一个很好的入口。当然,GitHub已经不再显示连击多少天了。

在我们达到所谓的10000小时之前,我们还需要这么久:

关于编程,你的练习是不是有效的?关于编程,你的练习是不是有效的?

这只算上了工作上的时间,如果我们还有一半的时间也在练习上面,那么就会缩短为2.4年?

答案是:不可能!

怀孕需要10个月,但是显然即使10个人同时努力,也不能在一个月内生下孩子。

为了保证更好的练习效果,我们需要在每次短暂的时候之后,休息一段时间。为了实现这个我们可以用两种方式:

  • 多喝水。无论是学习还是工作,喝水总是有利于大脑思考,还有利于你多上厕所。多走动,可以防止你有各种职业病。
  • 采用所谓的番茄工作法——可以找个借口让自己休息。

关于编程,你的练习是不是有效的?关于编程,你的练习是不是有效的?

不断地休息,才能让下一个练习走得更往,这样才能保证好的练习效果。

练习之前,你需要知道三件事

练习要有计划才会有效果的!

练习要有计划才会有效果的!

练习要有计划才会有效果的!

对于不同的类型来说,你需要不同的练习计划。

编程:使用新技术、新思想

在练习编码的过程中,使用一些新的技术和新的编程思想可以帮助我们走出舒适区。当然如果你要在项目上用上新技术的时候,你也会采取相似的练习来做这样的事。而这也是大部分人尝试新技术的开始,如在每个新的编程语言的入门手册上,他们都会来一个经典的:

关于编程,你的练习是不是有效的?关于编程,你的练习是不是有效的?

然后我们就会做一些类似的项目来快速上手这个语言,如以前我们用Java实现了一个Blog系统,我们就可以用Node.js实现一个Blog系统。同样的,我们也很容易将其应用到不同的语言环境中。

假定,你在A项目上使用了Java语言,而你们的新项目使用了是类似于A的业务,那么你就可以采用新技术或者思想来实现。

理论:练习和总结

理论本身有可能很难理解,从而很难应用。因此,在学习理论的最好方式还是应用,而要构建一个好的场景并不是一件容易的事。

我们需要不断地探索过别人实践过的一些例子,模仿一些相似的用法,然后创建自己的类似的项目。同样的,我们还是可以基于我们以前实践过的项目,在那之上做一些改进来学习理论知识。

理论还有一点比较麻烦的是,记住它。在我们练习了很多之后,我们可能很快地就忘记它了。因此,你需要笔记或者博客来做这样的事。
不过,我还是觉得博客比私有化的笔记会有一点,好的东西应该分享出来。既然你都已经保存了,那说明它很重要。既然它对你很重要,那么它也对别人很重要,要不你怎么会保存呢?

最好是能写一些文章来发现自己了解了多少,如果是一系列的理论,那么就可以整理成电子书了。

原文来自: https://www.linuxprobe.com/program-practice-effective.html

本文转载自: https://www.linuxprobe.com/program-practice-effective.html

共有 人打赏支持
问题终结者
粉丝 14
博文 821
码字总数 120526
作品 0
运维
加载中

评论(1)

y
yanghangjun
厉害
我是如何学习计算机编程的

本文是从 How I Learned to Program Computers 这篇文章翻译而来。 我在很小年纪的时候就开始学习编程,我学习编程的方法是创建大量的不同的网站。下面列出的是我创建的主要的网站,其中最早...

红薯
2011/10/17
5.1K
31
程序员:感觉技术停滞时,该怎么办?

在旧文《技术方向的选择》的末尾,我写道:“停留在原地纠结,什么也不会改变。”。当做出了选择就该出发了。为了习得一门技术或技能,我们需要不断地练习,但如果一直在练习,却感觉不到进步...

达尔文
2017/06/26
4.6K
17
闯关式学Python,游戏着就能学会编程?!

阿奎的新书《Python编程基础与HTTP接口测试》已经上市了。 阿奎,是一位系统分析师、曾经的软件工程师,也是一位资深的敏捷教练,多年在开发一线的开发和管理工作,让他对于编程和自动化测试...

书香云舍
01/06
0
0
18 个锻炼编程技能的网站

本文由伯乐在线 -Reset 翻译。未经许可,禁止转载! 英文出处:codecondo。欢迎加入翻译组。 编程几乎已经成为了人类所知每个行业的必要组成部分,它帮助组织和维护大型系统的方式是无可比拟...

伯乐在线
2016/08/03
0
0
几道Python小程序练习的多种解法,做出来就表示Python入门了!

下面由小编开始设题解题: python斐波那契数列 关于Python编程练习题和答案,斐波那契数列应用的示例。引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列? 斐波那...

Python新世界
07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
10
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部