一个程序员的修炼之道

摘要:每个程序员的修炼之道都是漫长而艰辛的,要成为一名伟大的程序员,不仅技术全面,还要有程序员的自我修养。
一. 找到编码的感觉

经过几年的积累,逐渐认识了Java,Python。所学的知识当然要围绕这两门语言展开,一些框架的学习,经验的积累,设计模式的学习都围绕这两门语言展开。其实学了这么多,慢慢的发现基础知识不牢固,很多东西学习也只是皮毛,知其然,而不知其所以然,简单的说就还是个民工,只能进行简单的堆砌,想向上走一步:没门。所以补习理论知识成为好多程序员迫在眉睫的问题。
  很多程序员估计像我一样,对文件操作,多线程,Socket等的高层次的编码还停留在理论阶段,只是做了一些demo,了解了一下API,基本没有在实际中应用到相关的知识,或者是简单的实践了一下。其实我们都停留在写代码的原始阶段:简单的堆砌代码,而没有真的找到写代码的感觉。虽然我自以为看了《重构》,看了《First Head in Design pattern》,《敏捷软件开发原则,模式与实践》,《模型驱动设计》等书就可以有所突破,其实我错了,没有量变就没有质变。
  寻找编码的感觉,慢慢的熟悉了各种API后,有一种信手拈来,得来全不费工夫的感受的时候,慢慢的就自然理解了大师书中的知识了,或许你到时候会说:其实这就是我工作中碰到的问题的总结。
  所以修炼阶段平均每天编码200行以上,找到编码的感觉是必须的。

二. 整理总结分享

在学习的过程中,能够写读书笔记放到网上是一个好的习惯。学习的过程中,必定会碰到很多问题,告诉别人你是怎么解决这些问题的是一种简单的教,一方面可以让自己记忆更加深刻,一方面可以传递知识。
  当然,你学到一定的程度,就需要把知识做一个阶段性的总结,不要怕别人笑话,写出来,分享出去,告诉别人这是我的心得。如果现在让我做一个设计模式的PPT,我估计会翻阅好多本书来整理相关的知识,对我来说其实是在温习相关的知识。
  我也需要把自己工作中碰到的问题分享到论坛或者是blog上去,例如:性能优化的心得,发现的oracle的bug,发现的Java框架的bug……当别人和我深入讨论一些问题的时候,我才发现:自己研究的其实还不透彻,人外有人,天外有天。当我教别人一些东西的时候,自己也学到很多东西。教的过程中会逐渐发现自己的不足,慢慢的自己就成长起来了!

三. 程序员自我修养阶段:

今天在改程序,当打开一个方法的时候,里面有一堆连续的else if。我数了一下,有超过40个。而且,每个else if里面,还都有处理过程,或简单或复杂。看了我当时就想骂娘,再偷懒也搞个switch啊。这个类其实是个html处理的类,在模板也加入特殊标签,而方法里这40多个else
if的作用是用来逐一判断特殊标签输入的参数并进行处理。以我不深的编程经验看,完全应该可以用反射的方法把输入参数转化成类下面的对象或者对应的函数,这样代码要清晰很多很多。
  我专门看了下注释,这孙子没写,让我失去了指着名字大骂的机会。我突然觉得,一个程序员的自我修养第一条应该就是在每个写过的类里面加上你的注释,包括姓名,最好还有联系方法。这是一种责任,是程序员对其所写的代码的一种必须的责任,当后来的人在查看修改这些代码的时候,当这个可怜的维护人员被代码混乱的组织和恶心的结构气得上窜下跳想砍人的时候,他至少可以指名道姓地一阵乱骂以泄心头之恨。
  无所谓有多少人会同意这个观点。我知道在现实面对的很多是在不停的赶时间,只要在限定时间内完成,哪怕再烂的代码,也可以拿到薪水。但是我还是决定,在接下来我就要面对的那个必须在十月完成的项目里面,我不会这么做,不会写下40个愚蠢的else if,我宁可项目延期哪怕为此丢掉工作,程序员也要有所为有所不为。
  所以:要想养成良好的程序员的自我修养是离不开以下几点的
1、迷恋技术,保持对代码的热情
  兴趣是最好的老师,如果不是最初对编程充满兴趣,应该很少有人会选择程序员这个行业,但同时程序员是一个有点乏味枯燥的工作。如果你不迷恋技术,对代码充满热情,那你只能做一个平淡的程序员。


2、在实践中成长,磨砺技术
  程序员是一个在实践中成长的职业。你看再多书,听再多的视频课,自以为学到很多东西,但正在接触项目的时候,就两手发软,头脑空白了。最好的提方法,是正在参与到项目中去,最好是能参与从设计到开发到测试到维护一整套的整套流程。


3、加班虽苦但也是提高的过程
  毕业之后的前三年最为重要,要认认真真钻研技术,积累经验,至少能在某一方面成为技术达人。程序员加班是很正常的事情,要加班工作,加班学习,同时在这段时间要注意多总结,注意工作方法,合理安排时间,提高工作效率。你现在的付出是为了以后的成功!


4、不怕失败,学会寻找成就感
  新程序员由于技术水平、经验的欠缺,写出的程序bug多,执行效率低,可能被同事嘲笑(我发现这还是普遍现象),然后被上司责怪,内心充满有挫折感。要学会自我减压,相信挫折与失败只是暂时的,发奋图强。在工作中要学会寻找成就感,哪怕你只是完成一个小功能,优化了一段代码,都是你辛勤付出的结果,是你能力提高的体现。


5、要学会写文档
  不要以为程序员只要负责写代码,如果是那样,你永远不能有上升的空间了。因为不管是走技术路线,还是管理路线,都离不开文档,方案文档,技术文档,产品介绍文档,管理文档等等,是你了解开发流程,产品运营的必由之路。


6、学会复制粘贴
  现在的开发资料已经非常的充实,遇到难以解决的问题不要过分纠结,为难自己,请打开搜索引擎搜索一下。毕竟,你做的是工作,不是在学校做研究。


7、细节决定成败
  不少程序员都有这样的习惯,好不容易思考出解决问题的方法,迫不及待的把代码写出来,功能也实现了,立马提交代码完事。殊不知你的代码中还有不少细节需要完善,大到内存泄露、资源释放、代码是否高效,小到注释是否规范,都是你必须关注的问题。且不谈这些细节问题对你做出来的项目的影响,就是对你编程习惯的影响也是深远的。


要学会让数据来说话,其实数量只是一种表现的形式,有时候只能简单的说明你这个人很努力,并不能说明这个人真的很强。我们追求的是数据的结果:带来了什么样的质量!以前写blog,就是简单的积累一下自己的说话,没有什么有价值的内容,所以关注的仅仅是自己的朋友而已,虽然也写了很多,但是没有什么变化。当我整理自己以前的分类的时候,我很惊诧的发现自己的关注点怎么如此之多,面积太大,投入再大,也不会产生多大的压力,也不会产生什么成果。如果现在让我拿出点写blog的数据:pagerank,alexa排名,日均ip,pv等,这将是一个很惨的结果。写不出什么有价值的东西,还不如不写。从写blog上我开始醒悟了。
  编码这么长时间,我在论坛上提问少,回复少,发帖少成为我的基本特征。如果让我拿一点数据说明我做了什么的时候,也将是一个悲惨的结果。很少东西能证明我在编码上有突破,与众不同。
  当你觉得技术已经OUT的时候,其实你还拥有很多,思路才是根基,要学会利用搜索引擎去查找你想要的结果。
  不能以bug小而不去修复,要懂得千里之堤毁于蚁穴。
  资深程序员能很清楚的认识了自己,终于知道,自己那份坚持,还有执着、汗水只是让自己有个回忆。


Bobo
20160804

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,563评论 25 707
  • 又到了一年国庆,每年这个时候总有很多要结婚的姑娘,她们或是嫁给生活,亦或是嫁给爱情,幸福与否暂且不说,只是不要让自...
    木子不爱糖阅读 436评论 3 1
  • 怎么会 有那么多,爱情的诗句? . 比喻万千 不过是我,和你 . 那些心动的,和心痛的 都逃不过一个微微的笑意 ....
    水摇绢阅读 240评论 1 1
  • 重要的人,不想忘记的人,绝对不能忘记的人~ 你是谁?你是谁?你是谁? 近日,刷爆了微博朋友圈的一部电影,能够刷爆,...
    杂言碎语阅读 238评论 0 0
  • 2012年6月30日满怀希望的进入一个小软件公司,工作了四年整,有得有失,总结一下自己的得失,总是应该的,以下是想...
    丐帮财神阅读 1,235评论 0 5