程序员的学生时代

不管怎么说,自己也算是在程序员的道路上奋斗过的人啊。如今,自己的学生时代也算接近尾声了吧,写点有关程序的文字的吧,也算给自己个交代。

 

                                                                                      注释,用好是个好东西

我当开始学写程序的时候对注释这玩意也是不以为然,虽然没有因注释带来什么特别深刻痛苦的体验,但也认可了周围人的言传身教。注释,的确是个好东西。

如果说百行代码而无注释的程序员是高傲的,那将课本上的每一个知识点都加以说明的程序员无疑是天真的。对于前者早以成为我们思维定式中的批斗对象,其实对于后者而言,同样作为程序员,真替他委屈。只想告诉他:哥们,咱们写的是项目,不是教科书。说白了,我们需要注释的是实现功能,业务逻辑,融入代码之中的思维流程。而不是去解释官方的API

当然这些都是对于学生阶段的人来说,容易出现的毛病。对于注释还应注意,每个级别的代码块都应有统一的注释风格,例如对于类应有简单的功能描述,作者和最近一次的修改时间等信息,对于方法应并包含目的的描述、功能、参数和返回值。当然,使用语言本身所约定的格式无疑是最完美的,如JavaJavadoc

说白了,就是让别人更家容易的读懂你创作代码时的思维流程。最后,分享几个经典级别的注释(娱乐一下):

      • //写这段代码的时候,只有上帝和我知道它是干嘛的;//现在,只有上帝知道
      • //神奇,勿动
      • //如果这段代码好用,那它就是哥写的;//如果不好用,那我也不知道它是谁写的

 

                                                                                         认真地学习一门语言

初学者最容易纠结的就是从什么语言入手,其实,语言本身并没有本质上的优劣之分。对于任何一门语言来说,它都有着内在的运行机制和设计思路,如果能够明白这些东西,完全有能力做到举一反三,触类旁通的。对于初学者而言,语言并不是学的越多越好,否则带来的只有浮躁和失望。还是那句老话,“挖十个坑不如打一口井”。

另外,要想真正做到精通一门语言并不容易,太多的人拘泥于开发工具,开发框架。我要是说不应该使用开发框架,开发工具,别说鬼了,连我自己都不信。我想说的是:知其然还要知其所以然。否则,你以后就等着去抱怨,这个行业的知识更新太快,人才淘汰的太快吧。

我自己是学Java出身的,有时候真应该问问自己,是不是真正的掌握了Java的面向对象?是不是真正的掌握了Java的多线程、网络通信、反射等内容?是不是真正的理解了类初始化时内存的运行过程?知不知道Java对象从创建到消失的全过程?敢不敢说我能开发Struts这类的框架?从理论上来说,回答都应该是Yes

其实这个问题可以更近一步延伸,我们是否明白计算机内在的原理。学校开设的一些计算机组成原理、操作系统、计算机网络、编译原理这些课程,刚开始觉得我们战斗在代码一线的同志们没必要去精通那些高深的组成原理,其实这个想法是大错特错的。现在我也在积极的补课,因为我意识到,我所放弃的东西是通向顶点所必备的一块垫脚石。但愿你也能早日看到这一点。

 

                                                                                             分享自己的思想

我在这里并不是想说分享对于这个互联网的时代是多么的神奇和重要。而是说我们在将自己的知识、思维整理成PPTDemo、博客的同时,你将站到更高的层次去看待你所拥有的知识,加深你对这世界的认识(一点也不夸张)。而且如果有幸得到别人的回复,不管是简单的激励还是针锋相对的观点,都会给你带来不小的帮助。

其实经常的整理自己的思想是非常有必要的,而且是非常重要的。这将更有利于你表达自己的想法,更有助于在日后的团队协作中发挥自己的影响力。要知道,一个普通的程序员和一个优秀的程序员的区别,不在于他们精通的编程语言谁多谁少,也不在于他们喜欢用的是Python还是Java,而在于他们能否与别人交流自己的思想,如果你能够说服他人,那么你的力量就可以得到无限的放大。

 

                                                                                            程序员的思维模式

从前有人问我,什么是专业?我觉得这是一个特别二逼的问题,但是值得我自豪的是我给出了一个让我自己都感到精辟的答案。专业就是一种思维模式!

每个行业的人都或多或少的带有一点“职业病”,这其实就是专业工作在思维模式上的

展现。从事法律的,从事医学的,从事经济学的,他们都有这自己独特的思维模式,同样软件行业也不例外。

从软件开发的方面说,每一个方法,每一个类,每一个包的设计都有它们之间的内在逻辑。明白他们的组织与调用,以面向对象的观点来看,完全可以做到现实世界的映射。

以现代软件工程的思维来看,不具备大局流程意识的人,即使代码写的再优秀,也只能是个“码工”(不排除特例)。这就要求我们除了开发能力之外,还要有需求,测试这样的观念存在。毕竟,那个软件作坊的时代已经过去了!

对于软件工程的学习,我觉得对于没有大项目经验的学生来说,简直就是对牛弹琴。不得不说,这门课在我连续睡过去一个月后,我终于下定了决心。从那以后,我再也没见过那门课的老师(顺便说一下,哥相当自豪,毫无悔意)。

其实对于软件工程,我也并没有他多的发言权。只能说,用心去体会吧。我觉得自己现在多少理解一点了…..嘿嘿。

 

                                                                                           用自己的方式面对未来

明年的今天,自己的学生时代就要结束了。真的很感激,自己的有生之年能够有幸从事编程,我相信这是上天的眷顾。从此,我们手中就拥有了改变世界的力量,有了挑战旧世界开辟新时代的力量。如果你觉得我是在说大话,那我所说的下一句对你也就没有意义了。坚信不移,就是力量(源自《海贼王》,冥王雷利对霸气的最终解释)。

或许是身边的人看到的这个社会的黑暗太多了,也可能是自己的看到的太少了。技术男、宅男、屌丝,似乎这就是我们这群人的代称,或许是别人对我们的了解太少了。但不管怎样,请你相信,你所留下(真正的留下)的每一行代码,都有证明了你的存在。

其实,我觉得自己的性格完全不像一个搞技术的,无所谓,反正我喜欢我所经历的。感谢在我的学生时代能够遇到《火影》,遇到《海贼》。或许就是它们保留这我那一点点小小的勇气,去追寻自己想要的未来。

 

建议:

    1. 毕业前学好C语言。注意,不是C++
    1. 至少花一个学期来了解机器原理。
    1. 有机会就到讲台上发布你的创意,说不哪天下面坐着的就是VC
    1. 没事多看点书。推荐一本书《明朝那些事儿》,不读此书,白上大学。
posted @ 2012-05-20 01:31  Osee  阅读(282)  评论(1编辑  收藏  举报