• 杂谈-----程序猿的几个境界,您属于哪一重呢?


             好几天没写博文了,最近LZ在研究如何编译和调试JAVA虚拟机的源码,如今已经小有收获,LZ已经可以成功的调试System.out.println("hello world!")这样的程序了,很有感觉吧。过几天LZ会将这部分内容阐述一下,不过在此之前,还有GC相关的最后一章。不过这最后一章其实已经没什么写的了,主要是参数的罗列以及参数的说明。

             本文LZ和各位探讨一下程序猿的几个境界,不用说,最后一个境界就是LZ所向往的理想国度了。LZ个人觉得,自己应该属于第二重迈向第三重的阶段。

             废话不多说,下面我们一起来看看吧。

    程序猿第一重:抄

             “抄”是程序猿的最低境界,处于这一境界的程序猿们,还只会复制粘贴。而且此处的复制粘贴,是全盘复制,而后针对需要修改的地方稍作修改已达到目的。

             通常情况下,此境界的程序猿还不会思考在复制的过程中,所复制的内容是否全部都需要,能不能砍掉一部分,或是内容当中有没有坏味道的代码等等一系列问题。而且复制的内容一旦出现问题,处于“抄”这一境界的程序猿往往会束手无策,第一反应一定是“度娘”,倘若“度娘”也解决不了,那么小A、小B、小C等等可能就被你请来解决问题了。

             你会经常因为一个空指针而花费一两个小时的时间,也会因为一个非法参数异常而苦恼。如果这些异常发生在你自己所写的代码当中还好,倘若是在第三方类库当中,此时的你或许会大有去年买了个表的心情。

    程序猿第二重:改

              当你在第一重徘徊一段时间,或许是一个月、半年、一年甚至N年(N>=1),大部分人都会轻松的进入“改”这一境界。

              此时的你仍然只有复制粘贴的功能,只不过此时的你已经学会了挑剔自己所复制的代码。当你在准备复制代码而不得以去读代码的时候,你可能会说出以前从未说过的话,“这代码写的真是狗shi啊”。

              于是,你会对你复制的代码挑挑拣拣,这删点,那改点,希望它最终可以符合你自己的爱好,并会不自觉的欣赏一会自己的小杰作。

              而在这个时候,一旦出现什么问题,你的第一反应不再是“度娘”,而是会先自己判断一下可能是哪里出现了问题。不仅如此,或许还会有处于“抄”境界的程序猿不小心“抄”了你的代码,出现问题之后还会来请教你。大部分时候,你会很happy的去给别人解决问题。

    程序猿第三重:悟

              “悟”之境界就不如第二重那么容易进入了,或许会有一些程序猿,甚至在自己的编程生涯结束时,都没能进入这一境界。不过这其中大部分的原因是因为,他们还未碰触到这一重境界,就抛弃了编程转而投入了其它领域。有时候,这也许是一件幸事。

              从第二重完全的走入第三重,需要一个漫长的领悟过程。在这一阶段里,你已经感觉到了瓶颈,再也无法像以前一样,能够感觉到自己实力的快速提升。你的提升,完全取决于知识的积累。当积累达到一定程度时,以前一些无法完全理解的问题,常常会在你无意之间想通。

              此时的你已经对自己所从事的开发工作了如指掌,应对自如,同时你的代码也可能会被大部分人复制粘贴着,并且你会是团队中的“异常天敌”,任何问题到了你手里大部分都可以迎刃而解。

              通常情况下,此时的你已经对上面这些事习以为常,你只是在一次次的顿悟当中,寻找着通往究极的途径。

    程序猿第四重:造

              

              其实大部分人走到第三重,已经是终点了。至少,作为一个程序猿,你已经很优秀了。

              不过要想走到终极境界,还需要做一件事,那就是----造。

              造?

              是的。造一个spring,一个MVC框架,一个struts2,一个ORM框架。

              或许你会说,这没问题啊,我已经可以写一个简单的ORM框架了。

              非也。

              造的前提是毁,要毁掉你认知的一切东西,从而造出一个真正意义上的新事物。这个时候,你的代码不会再是你的团队在使用,而是全世界在使用。

              

    结束语

              “抄”的多了就会“改”了,“改”的多了就会“悟”了,“悟”的多了却不一定能“造”。

  • 相关阅读:
    《Cracking the Coding Interview》——第11章:排序和搜索——题目8
    《Cracking the Coding Interview》——第11章:排序和搜索——题目7
    《Cracking the Coding Interview》——第11章:排序和搜索——题目6
    《Cracking the Coding Interview》——第11章:排序和搜索——题目5
    《Cracking the Coding Interview》——第11章:排序和搜索——题目4
    数据结构,体系结构,组成原理,高等数学
    配置TortoiseGit与Github
    生成模型(Generative)和判别模型(Discriminative)
    luogu P1037 产生数 x
    【説明する】グラフ理論
  • 原文地址:https://www.cnblogs.com/zuoxiaolong/p/life5.html
Copyright © 2020-2023  润新知