我的项目经理曾经给我分享过一篇酷壳上的程序员修炼文章。文章讲了作为一个程序员应该如何进阶的历程。我记得里面有一条是学习使用编辑器。那时我都还搞不清什么叫编辑器,什么叫IDE(现在我也不觉得自己确实搞清楚了)。试用了几个编辑器vi,emacs,notepad++什么的 ,发现自己懒得去学那些命令快捷键,编码速度也不是我所追求的,于是退回到eclipse,经过这几个月的打怪练级,我又悟出一点编辑器除了提高编码速度的其他方面的好处,以及由此产生的一点感想,希望分享给其他和我类似的新手程序员。
-
尝试使用原始的工具
作为一名非标,我是直接从eclipse开始我的编码生涯的,在很长一段时间里,我都觉得,运行一个java程序就是点eclipse上面的那个小绿色播放按钮,要是没有eclipse,我就不知道怎么办了,听起来有点可笑,但我那时候确实是那个状态。因为我的开始学习编程就是从看视频教程开始的,别人一步一步教你怎么做,正好我看的那个视频里面就直接教了用eclipse,没有教别的方式,所以才导致了这么一个结果。但这也有一定好处,让我开始学编程的时候能够摆脱一些随时可能让我放弃的繁琐的细节,让我直接体会到编程的乐趣,一直坚持到现在。 当然后来慢慢了解了一些程序员基础知识,知道了程序还要先编译,再运行,eclipse只是让这一切变得自动化。在度过最初的阶段以后,我感觉编辑器这样原始的工具的另一方面的作用就体现出来了,你必须自己去学习自动化背后的东西,这不仅让你知道怎么做,还让你知道为什么要那么做,如果想实现一些不一样的东西应该怎么做。最近项目上就有一个这样的情况出现,用Ant自动化打多个apk包,于是我就不能使用ecplise自带的自动化打包工具了,不得不去学习使用ant进行Anroid打包成apk的一些东西,从而知道了更多为什么。 我觉得这对非标的成长是很有好处的。
-
尝试阅读原始的资料
我最初开始学编程的时候就是看各种教程,抄别人的各种demo,遇到问题就去网上各种搜索,总的来说就是拼程序。还是那句话,但这也有一定好处,让我开始学编程的时候能够摆脱一些随时可能让我放弃的繁琐的细节,让我直接体会到编程的乐趣,一直坚持到现在。在慢慢了解了更多东西以后,我开始发现那种学习方式的局限性,你对东西的理解始终停留在表面。可能你可以通过那种方式快速地写出一些代码,实现你想要得功能,但是你只知道how,不知道why,如果幸运地做出来的东西没有出现问题,那还不会质疑这种学习方式,但一旦出现问题(多数情况下会出现各种各样的问题),你只能到网上一顿乱搜寻求解决问题的办法,因为你不知道本质的东西。 后来经过朋友前辈们的指点,我开始尝试阅读最原始的资料,比如官方文档,进行系统的学习,当然这会花费很多时间,因为几乎所有的编程方面的官方文档都是英文的,一开始非常不适应,进展非常缓慢,你还得客服种种烦躁的心理因素,但坚持一段时间以后,你会发现物有所值。当你系统地了解了某个东西以后,你能找到更合适的实现方案,一旦出了问题(这样的方式出现的问题比之前的方式少很多),在多数情况下,你可以在不求助别人的情况下很快地解决这个问题,总的来说,其实你是节省了大量的时间的,只是这种效果来得晚一些。
总的来说,我觉得越原始的越接近本质的东西,往往是最精华的,最有用的。希望这样的方式也对你有用。