程序员的内功筑基计划

 

近来在为公司封装一个IOS平台库,很多东西都是现学现卖。事实上,对于框架的使用方面,我从来都不放在心上,总感觉就那么一堆API放在那里,我们要做的只不过是看着文档说明,实现自己需要的功能罢了。在做到网络传输方面的模块时(尤其是断点续传),我便清醒的认识到,网络这块素来被称为一块深不可测的泥潭,切不能就这样实现功能就算完事,真的需要静下心去钻个透了。。其实我这两个月都很懒散,每天上班做完该做的任务后,余下的时间或者到各大论坛去泡水,或者打开微博看看有什么新鲜的话题,甚至有时候想尽办法打发时间直到下班。回到家里的生活更是堪称安逸,散散步,看看电影,网上聊聊天就睡觉,久而久之,而今一旦想起那些曾经的理想和抱负一种罪恶感便油然而生——我要做的事情不仅仅是这么简单!于是突然想给自己一个内功筑基计划。。

 

说到内功筑基,这都是武侠小说中的说法,一旦一个资质好的武学之人练习内功百日筑基便可百病不侵,各种武功绝学一练就会。而对于数程序员的我们来说,所谓的内功就是:数据结构,算法,OS原理,C/C++,TCP/IP,组成原理,设计思想(我不想称其为设计模式)和重构能力。相较于各种流行新出的技术而言,这些技术都有一个显著特征:几乎一成不变,不管高层框架如何的变,平台如何转换,只要这些方面底子好,余下的便自然是看起来对于一堆API的调用了。在这里我把C/C++也列进去了,只是觉得一个真正对C/C++掌握的好的程序员来说,学其它高级语言有着一种一览众山小的感觉(至少对我自己来说是这样的)。另外纵观各位业界内大牛的观点,貌似也印证了这种原理(看 这里 后面内容提到各位好的程序员当读的书籍)。

 

我写博客一直有一种在别人看来多少有些怪异的习惯:那便是从来不会在博客里面记录一种开发技术该怎样去实现一些特定的功能,如同(这里)的这位大牛一样,反而会去更多的琢磨一种内在思想或原理然后发表在自己的博客里,从而表观上看起来全是些基础的语法糖或算法果之类的东西,或许这也是我缘何还不是位大牛的缘由吧^_^。事实上从我自己本身来说,很长时间以来都是重道而不重术,我会花很多时间去研究一些原理性的东西,而至于一些框架的使用我情愿等到工作中用到的时候再去查文档来实现。。对于我把设计思想而非设计模式列到内功里面,因为自己从来都觉得设计模式只是一些局限思想的东西,对于新手来说肯定如此,而对于有着相当丰富经验的人来说看懂它并真正领悟它不会是很为难的事情。。对于设计本身而言,我很赞同一种看法:一个写了多年代码而没研读过设计模式的人,其实他的代码里很多内容都无形中符合了某种模式,只是GOF这些人把它总结出来成看起来形似定律性的东西反倒把很多新人都局限在里面了,其中的各种缘由,唯有以不言而喻之。

 

至于自己的内功筑基计划,目前来说想研读下TCP/IP卷一卷二(重在卷二),这可是块很深的泥潭,不知道会花多长时间才能搞定。另外让我总是感到心虚的便是算法这块了,以前总感觉掌握了各种基本的数据结构在项目中够用就行了,或许也该是时候拿起一本代码大全来读读了。至于框架的使用而言,也该尽可能块的掌握IOS客户端的开发技能了(即便只是单纯的SDK调用)。

 

最后想说说程序员的高效状态:很早以前我便将这种状态视为一种入魔状态而非入静状态,好的程序员都有一种特质:在脑子里装问题的时候不喜欢任何人打扰,哪怕是非得离开自己工作的地方而出去溜达一圈,脑子里一直装的是之前那个问题,此时人实际是被问题牵住的,短期内不解决问题绝对会被它一直牵绊住而无心再做其它事情。其实在佛家来看:入境正好相反,这是种主动状态,静观其变而自身不做任何动作以达通晓一切于自身的境界。。 跑题严重了,种种外话都是源自于今天在CNBLOGS看到的一篇文章 《入静与入世》 所感。。

 

闭关,修行!

 

 

 

posted on 2012-08-04 01:09  酋长Clement  阅读(3693)  评论(8编辑  收藏  举报

导航