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

  纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。

  理论驱动的项目。这一类的项目会比较少,因为我们需要牵强地驱动出这样的项目,然后以理论的方式驱动它。

  兴趣结合理论型。有一个长长的Idea列表,难免有些时间会和将要学习的理论有很大的交集。这种的练习效果是最好的。

  整合成文章、电子书。这一步主要是为了分享、巩固知识点、讨论。

  简单地来说,就是:

  刻意的理论练习

  兴趣实践

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

  编程与情绪周期

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

  

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

  

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

  

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

  

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

  适合写大量代码的日子

  适合学习理论的日子

  适合玩游戏《文明》、看电影、睡觉的日子。一般来说,这种事件的出现天数比较少。

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

  练习与计划

  持续性

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

  装逼

  驱使不断自己练习

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

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

  

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

  答案是:不可能!

  

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

  

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

  多喝水。无论是学习还是工作,喝水总是有利于大脑思考,还有利于你多上厕所。多走动,可以防止你有各种职业病。

  采用所谓的番茄工作法——可以找个借口让自己休息。

  

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

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

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

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

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

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

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

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

  

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

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

  理论:练习和总结

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

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

  理论还有一点比较麻烦的是,记住它。在我们练习了很多之后,我们可能很快地就忘记它了。因此,你需要笔记来做这样的事。

  如有不同意见,欢迎留言评论。

欢迎加入Java高级架构学习交流群:468947140

本群提供免费的学习指导 架构资料 以及免费的解答

进群修改群备注:开发年限-地区-经验

点击链接加入群聊【Java-BATJ企业级资深架构】:https://jq.qq.com/?_wv=1027&k=52j2FVO

程序员编程,你的练习是不是有效的?相关推荐

  1. 程序员编程艺术第一~十章集锦与总结(教你如何编程)--持续更新中

    程序员编程艺术第一~十章集锦与总结--面试.算法.编程 作者:July.编程艺术室. 出处:http://blog.csdn.net/v_JULY_v . 围绕"面试"." ...

  2. 程序员编程艺术:第二章、字符串是否包含问题

    程序员编程艺术:第二章.字符串是否包含及相关问题扩展 作者:July,yansha. 时间:二零一一年四月二十三日. 致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊 ...

  3. 程序员编程艺术第十一章:最长公共子序列(LCS)问题

    程序员编程艺术第十一章:最长公共子序列(LCS)问题 0.前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结).回顾之前的前十章,有些代码是值得商榷的,因当时的代 ...

  4. 程序员编程经验_在没有实际编程的情况下成为更好的程序员

    程序员编程经验 In this talk, Ryan Johnson explains what was for him the invisible step to becoming a better ...

  5. 程序员编程艺术第二十七章:不改变正负数相对顺序重新排列数组(无解?)

    第二十七章:不改变正负数之间相对顺序重新排列数组.时间O(N),空间O(1) 前言 本文开始之前,顺道说个事:CSDN最近开始评选10大博客专栏,投票地址为:http://event.blog.csd ...

  6. 有人说中文编辑是解决中国程序员编程效率的秘密武器,请问他是一个银弹吗?...

    一."银弹" 首先在这里解释一下"银弹"的概念,顾名思义就是银质的子弹(Silver Bullet),是古老的欧洲民间传说中能杀死狼人的利器.当然现实中是没有狼 ...

  7. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  8. “中文编程”会是解决中国程序员编程效率的秘密武器,成为中国软件工程的“银弹”么?...

    一."银弹" 首先在这里解释一下"银弹"的概念,顾名思义就是银质的子弹(Silver Bullet),是古老的欧洲民间传说中能杀死狼人的利器.当然现实中是没有狼 ...

  9. 程序员编程艺术:第五章、寻找满足和为定值的两个或多个数

    程序员编程艺术:第五章.寻找和为定值的两个或多个数 作者:July,yansha,zhouzhenren.     致谢:微软100题实现组,编程艺术室.     微博:http://weibo.co ...

  10. 英文 程序员编程技能描述_程序员最重要的非编程技能

    英文 程序员编程技能描述 by Ali Spittel 通过Ali Spittel 程序员最重要的非编程技能 (The most important non-programming skills fo ...

最新文章

  1. 自定义函数_自定义函数,让你的表格为所欲为
  2. 有赞分层自动化测试实践
  3. 156. Leetcode 53. 最大子数组和 (贪心算法-进阶题目)
  4. 第二章 数组名是一个指针常量吗?
  5. TensorRT学习笔记3 - 运行sampleMNIST
  6. Nuxt如何发起跨域资源请求?
  7. 如何解决文件不存在_传奇微端配置Pak密码文件不存在怎么解决?传奇分享汇
  8. python高级属性 用法 编程_python高级编程之面向对象高级编程
  9. 华为ax3怎么接光纤sc接口_光纤收发器接口类型、连接、指示灯说明及故障症断...
  10. visual studio 删除附加项
  11. Java学习之——泛型
  12. linux如何使用eth0网卡,Linux运维学习之如何取出网卡eth0的ip地址?
  13. 算法第四版 课后习题答案
  14. 浏览器内核信息和功能查看
  15. 分享一个 集外文论文检索、文字识别、翻译、文章管理于一体的软件
  16. 梧桐计划发布!百度智能云携手合作伙伴共创“云智一体”繁荣新生态
  17. MATLAB实现规范化(normalize)数据的函数实现
  18. sklearn.neighbors.KNeighborsClassifier函数详解
  19. Java 循环语句折纸小游戏
  20. facebookdownload_downloadfacebook

热门文章

  1. 巨星陨落,光芒永存—回顾霍金对人工智能的思考
  2. 一个快速排序 和 直接插入排序 的简单 c程序
  3. 服务器客户端对话java_java中的服务器和客户机如何使用
  4. word中填充效果锁定纵横比_【文艺范】Word文档中的首字下沉效果
  5. php利用引用实现树形数组
  6. iview 后台管理系统 搭建
  7. 十分钟学会用Go编写Web中间件
  8. Laravel核心解读--Facades
  9. RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群
  10. 分库分表解决方案之MyCat