程序员是这样炼成的(7)-水滴石穿

  • A+
所属分类:[开发技巧]

周末跟曾经的一位程序员同事聊天,他说他貌似遇到了技术的瓶颈了,最近一直在刻苦攻读,希望可以突破自己取得进步。有时候想想自己还挺惭愧的,高手们况且都还在不断的努力,自己的日子过的总是有点太安逸。我们总是在清醒的时候,喜欢为自己制定计划,每天要完成多少行代码,多少天要看完一本技术方面的书,但是计划总是没有办法实现,因为我们有一个口头禅叫"没时间"。

编程其实没有捷径可走,虽然你可以花很短的时候完成一本速成教材,但是你以后解决你遇到的问题时间肯定要比你学习的时间多的多,我们每天的工作就是新的练习和挑战,我们要尽可能的再平时认真对待我们遇到的问题,一个一个的攻克难题,实现量得积累,把我们的无知和丑陋都暴露在平时,在关键的时候,我们才能实现质的突破。那么作为一名软件开发人员,我们应该知道如何进行练习?如何提升自己的水平?如果把这个问题展开,那就太大了,我觉的我可以出本书来讨论了,在这里我只简单的跟大家分享下,我的感触在四方面进行练习和提高:

A.极限练习。
B.技巧练习。
C.模仿他人。
D.即兴思维。



一、极限练习
人无论是运动还是思维都会有自己的一些极限值。我小时候体育成绩不多,1000米跑步成绩还不错,很多同学向我请教经验,有的说跑久了呼吸吃力。有的说跑久了肚子疼。老是说,其实我也一样,每次跑一段后就会发现自己,呼吸困难,心跳剧加。这个就是我们说的个人的运动极限,如果你能坚持下去,反复的练习,这个极限出现的时间,就可以往推迟,你的运动能力就能提升。如果你遇到的极限就放弃了,那么你永远都没有进步。
编程也是如此,我们在工作中总会遇到大大小小的麻烦,你会为这些麻烦而头疼吗?你可以选择把这些问题放一放,等别人解决了自己再去copy下,也可以去请教‘百度’马上把问题也解决掉。但是这不是最好的解决办法,我很反对程序员们在自己连问题都没有看清楚,想都没有想的情况下,就去百度或者CSDN.编程的工作,就是用人脑去控制电脑的过程,很多人都不愿意让自己的大脑装些知识,这么问题都去请教,虽然看上去试谦虚好学,实质上确是思维懒惰。我在这里并不是反对大家多提问,多交流,而且希望大家可以在开始提问之前,把问题尽全力想清楚透彻,多尝试几次,挑战下自己思维的极限,不要以为头大就放弃了一次提升自己的机会,纸上得来终觉浅,绝知此事要躬行.

二、技巧练习
你写的代码可以优化吗?你喜欢的编程语言支持正则表达式吗?你是不是创造了很多不必要的冗余代码,你会使用API吗?你掌握了你喜欢的编程语言的多少知识?多线程会吗?同步呢?我们每天都在至少做8小时的工作,你有没有想过在通过技巧的提高,对过去知识的总结,用6个小时去完成过去8个小时的工作?为自己赢得两个小时的休息时光,去维护自己的学习手册。

三、模仿他人
如果你没有看过或者用过别人的源代码,甚至连hello world都不知道的,请跳过该节。像练字一样的,程序也可以临摹。你可以去一些开源社区,挑选你喜欢的任务或者功能来练习。也可以去下载一些源码,理解别人是怎么做出来这样的功能的,然后把源码删除,自己重新做一个相同功能的,或者寻找不同的风格或者用不同的编程语言来实现。你甚至可以在网络上找一个自己喜欢的小软件,尝试着去实现这个软件。这些都是练习,可以培养你在最快的时候里弄清楚需求,培养你读懂别人代码的速度,培养你思维的活跃度,快速的完成开发。
BTW,我前几天上网发现了一个非常不错的博客,我确定要把博主的全部文章中技术代码都实现一次。做为我4月的一个任务。:)

四、即兴思维
这一点的练习跟人的创新能力息息相关,你知道你喜欢的语言编出的最小的应用程序是多大吗?当你的同学,同事向你求助的时候,你会以最快的速度拿出解决方案吗?难道你没有发现这些豆是很好的练习和挑战,这些都是你作为一个程序员的责任。在紧急的关头,以优秀并且迅速的编程能力来满足需求,这是一种能力。

绳锯木断,水滴石穿,刚才说的这些练习都不一日之功,罗马也不是一天修成的,日积月累你才会发现原来自己在成长了。大家要勤加修炼!!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: