学编程学到的几件事

     一提到编程,很多与此无关专业的人就会想到两个字:无聊。确实,在大学课程里面的初级编程学习对于一般学生确实诱惑力不大,尤其是一些文科相关专业的人,更是被等级考试弄的头疼。一提到程序员,很多人的头脑中又会冒出另外两个字:苦逼。程序员的生活到底怎样?在此我不是来做生活大揭秘的,也不是来愤青的,诚然,在没有真正入职之前,我无法给出程序员的准确定义,但是通过这一年多以来的真正的编程学习,我还是对编程有了一些理解,文中若有一些见识疏浅的地方还请各位海涵:

1.入门并不困难,但是精通绝不简单

     很多没有一点编程基础的人初次接触到编程,大多的感觉就是很难,至少,作为一个“正常人”来说要去理解计算机的思维确实不是那么容易的事。不过如果如果你平时数学题做的很好,或者至少有一点数学基础的话,那么这跟数学公式其实也没什么太大的区别,至少你在学会1+1=2之前连数学是什么都不知道。而且最开始的编程学习必然是从语法基础开始学起,通过一两个月的基础训练,你就大概了解编程的逻辑了,不过要想做真正的应用开发,那是要在你理解了面向对象的程序设计之后才开始的。真正的大师,没个五年以上,没做过几个大型的项目,是成不了的。

2.基础很重要

     这句话几乎每个程序大神都这样说过,我最开始认真的投入编程学习是从应用开发开始的(Java才是我真正了解的第一门编程语言),而学了两三个月之后渐渐的感到吃力,看到别人写的程序总是有一些亮点,我开始观察,那些能够让自己的程序有点艺术性的人大都算法很精通,所以我又开始重新研究算法和数据结构。当然,说到这不是让每个人都去研究算法什么的,只是希望大家不要认为最开始学的那几行命令行程序没什么用,不然你以后会发现你连最基础的应用都做不了。不过,如果你喜欢应用开发的话,就不要陷入死算法的误区了,应用开发最重要的是要学会用,有些算法能力过于牛气的人,应用开发能力却很差,算法是提升你的逻辑思维的一门工具,最终的目的还是能够运用的起来。

3.写一行“精炼”的代码,倒不如写几行规范的代码

     进行了一段时间的自我修炼之后,你就要开始看别人的代码了,同样的,你的代码也要给别人用了。不过经常会碰到,有些代码的逻辑根本看不懂,有些人的编程也过于精炼,有些人喜欢这样命名:a,aa,aaa...结果到里面还得去匹配他的程序变量,这对团队自然造成了很大的影响,毕竟,以后进行项目开发往往不是一个人的事,注重规范,就得从现在开始。

4.注释

     这一点跟上面一点其实有内容交叉,之所以单独作为一条就是因为这一条确实很重要,由于最开始自己写程序的时候没养成写注释的习惯(毕竟自己写的程序大都给自己看),所以久而久之就不会写注释了。写注释是一门很重要的工作,不亚于写代码,以后进行合作开发的时候别人第一眼看到的也只可能是你的注释而不是代码本身。记得那时候本来想借用一下别人写的一些程序,看了之后吓了一跳,几千行代码,一个注释都没有,最终没办法,自己再写了一个。所以在平时的编程不要忘了这个步骤,否则你以后自己来看自己写的程序,都不知道自己想干嘛。

5.编程是一件让人兴奋的事情,而绝不仅仅是为了学习或工作

     如果你选择了程序员这份工作,那我希望这是你的主动选择,就像谈恋爱一样,不然你会过的非常痛苦的。在我周围有很多人,他们跟我一起参加培训,中间自然有很多热爱编程的朋友,他们或许最后并不一定选择程序开发这项工作,但至少编程带给了他们很多乐趣。同样的,还有很多人是为了找一份稳定的工作,这样的想法也很不错,毕竟现在的就业压力这么大,再说程序员的待遇也还算优越的,除了最开始可能会被加班困扰之外。还有一些是为了学业的,这也没什么,毕竟考研,出国,学点技术也还是有点用的,不过你单纯是为了每学期的期末考试的话,就没必要了,技术是要拿来用的,而不是成为你伪装学霸的工具,真正的学霸应该实际能力也不差,至少我们班那几位学霸动手能力也都挺出色的。不过还有一些急功近利的人就不太让人满意了,他们总想着靠编程发大财,成为像盖茨,乔布斯那样的成功人士,有这样的想法肯定是好的,可他们却不付出实践,做什么事情都是三分热度,总想着毕业后去哪发大财。现在,除了有一个好想法,有一身过硬的本领,有一群志同道合的人一起,否则还是做好你的本分工作,先修其内,再出其外。很多在事业上有所成就的人都说过,真正赚钱的时候,其实就那么几年。

6.错误和异常是你生活的一部分

     如果你使用的是Eclipse,我相信你最熟悉的除了代码之外,就是Console下面的那一行行红字了,你几乎每天都要与它打交道,只要你每天都有编程的话(当然,除非你不运行O(∩_∩)O~),很多初学者被这个弄的很烦,辛辛苦苦写个程序还老是报错,这自然是不让人开心的。不过,学会看错误和异常是走向大神的必经之路,就像你在成长的过程中总要犯错一样,它们并不可怕,与其在那心烦,倒不如解决它们。

7.有好的想法就要马上记录下来,不然会很可惜的

     最开始加入蓝杰大家庭的时候,老师给我们每个人就配备了两个本子,一大一小。到现在一年多了,那个小本子我还一直带在身边,当手边没电脑的时候,自己突然间有了什么好的想法,或者关于之前做的一些应用有什么好的改进的时候我都会及时的记录下来,以防那一瞬的想法突然就忘了。很多IT行业的大公司在各个地方都有笔记本和纸(甚至连厕所都有),就是为了给我们那一瞬的灵感而准备的,不管你是否是这个行业的,都可以随手准备一个笔记本,说不定哪天就会有一个惊天地的大想法出来。

8.术业要专攻

     这个问题我问过很多人,有编程界的大牛,大企业的项目经理以及身边的一些朋友。得到的结论几乎一致,先精后广。有些没太多基础的人半年时间之内学了很多东西,Java,数据库,Android,Linux等等等等。但当问及其中某个领域时,才发现很多该领域的基础知识,他们都不甚了解,甚至有一些Java学习了很久的人,还是没把面向对象的设计思想用到项目中去,才发现他们一直在学习,却没有深入的去理解一些东西。举个例子,如果你想精通Java,那么多线程,I/O,异常,JVM,这些都是你应该要深入了解的东西,另外,学好Java自然是为了应用开发,那么网络编程,数据库,设计模式,都应该在你的学习范围之内,你们可能会问了,不是说术业要专攻么??这些都是要学习的内容,他们并不是独立的一个部分,而是进行应用开发的你应该了解的一个整体,你不需要在短时间内把这些知识全都过一遍,这没什么意义,但是这是你的一个成长的路线,当你要用到的时候再去好好研究,每个模块都有很多值得挖掘的东西,当然,在你精通了其中的某一个模块之后,再扩散到其他部分,这才是学习的正确路线。请记住,如果你能精通任何一项本领,那都会使你终生受用,但是,学技术的人要学会变通,技术只是一门工具,不要死死地拽着某一个领域,在你基础能力达到一定的高度之后,掌握的越多,你的发展才会越大。前不久与一个大企业的项目经理交流的时候,问到这个问题,他就对我说:“你现在千万不要看到别人什么做的好就去做什么,把握自己的优势,把它发挥到最大。在我们公司有很多进行应用开发的程序员,他们到了三四十岁的时候又开始研究算法,数据结构这一类的东西...”。所以,从现在开始,确定自己的方向才是最重要的。

       最后,送给大家一句话,乔布斯说过:“人这一辈子不能做的事情太多了,所以每一件你决定做的事

都要做的尽善尽美”。也祝愿大家在即将到来的平安夜玩的愉快O(∩_∩)O~

  

猜你喜欢

转载自cq520.iteye.com/blog/1994142