程序越长水平越高吗

时间:2020-10-31 11:54:29 职场动态 我要投稿

程序越长水平越高吗

很多年前我刚拿到驾照不久,到了农村的叔叔家,请他把他的小车给我开一下。他问我会开吗?我说我有驾照。他又问我开了多少公里?我回答找了两次陪驾大概500公里吧。他对我说,那你还不会开车,你只有开了5000公里后,才能说你会开。我当时很不服气,心里想为什么要开到5000公里才算会开车呀!难道开了1000公里、2000公里就不算开车了吗?直到多年后,我才切身体会到他讲的是对的,开了5000公里才能遇到各种各样的行车状况,驾驶员才能懂得去面对和处理这些状况。

回到编程这个话题,程序员成长也是这样。一般一个程序有个几千行语句,有的甚至上万行,一个项目所有的程序加起来有几万,十几万行语句也很平常。对于新程序员来说,要多编程序,尽量遇到编程中的各种问题,这样程序员才能慢慢地成熟起来。编程慢慢地有了感觉,编程有了积累,编程有了可以利用重复语句,编程速度也大大加快了。建议新手找一些较长的程序作为范例,而且这个程序比较完整,具有实用价值,最好这个程序正在投入运行!这样学起来看得见摸得着,容易进入情况。我的经验告诉我,程序员在初期要大量地编写程序,不要管编的好不好,先把编程语句的数量搞上去,水平自然而然就上去了。不编上上万行语句,程序员是很难找到编程的感觉的。

当程序员度过了最初的编程阶段后,程序员就要转变思想,慢慢地把程序的精练性放在重要的位置。我一直是把最短的程序看作我编程的目标,一个几百行的程序那怕能省一行都是我要追求的,我绝不允许自己的程序中有一句废话。早期我曾把自己程序拿出来放话,谁能省一行我就拜他为师。由此可见我对程序精练的追逐之疯狂。

一次我的同事告诉我他读了软件公司的一个应用程序大约有3-4千行语句。碰巧的是我也编了相同功能的程序,我只用了1000多行,他也读了。他说同样的功能为什么会相差这样大呢?是程序长的水平高?还是程度短的水平高?

 

我的回答是:相同的功能因人不同而程序不同是很正常的。不同主要是由于对功能的理解、功能的算法、编写习惯等方面不同所造成的。因此,程序可长可短。至于水平问题,那就涉及面就很多了,有程序的书写方式和习惯、程序的可读性、程序的逻辑结构、功能算法、编程技巧、运行效率、参数化程度、程序复用程度等等多个方面。但是,有一点是可以肯定的,那就是相同功能编写语句少的,水平相对比较高。当然这个少至少占对比语句的10%以上。如果对比的两个程序一个是100行,一个是104行,两者相差仅4行,就很难在语句多少方面判别程序员之间的水平高低了。程序的精练除了反映在程序总的.语句条数上,还反映在程序中的函数的长短上,尤其是在一个函数体内,其语句也是越短越好。我曾看到不少程序中一个函数能写到几百行,甚至上千行。这类程序员往往喜欢一气呵成,把一个功能从头到尾写在一个函数之中。我认为这绝对不是一个好的编程习惯和编程风格,理想中的一个函数大约在20-30条语句是最好的。

不少程序员热衷于编写越来越多的程序,放任自己编写不必要的语句,从不注意程序的精练性。导致时间越长,程序员的水平越是没有提高。现实中我们可以看到很多程序员开始的时候,感觉其进步很快,但是几年之后,你依然看到他每天努力地编程序、依然看到他每天都在不进步。而有的程序员每隔半年一年,他们就会发现自己以前编写的程序编的很差。这说明这个程序员始终在努力地提高自己的编程水平,而且具有程序水平的判别能力。一个好的程序员到了一定阶段其编程数量是呈下降趋势的。但是其程序质量和水平却是呈上升趋势的。还是举驾驶员的例子,当驾驶员开满了5000公里后,驾驶员会开车子了,但是会开车子并不意味驾驶员就能成为赛车手,成为赛车手需要其他的专业训练,才能又快又好完成行驶路程。

从总的方面来看,程序员尤其是新程序员编写的程序越长越好,越多越好。但是,在具有一定编程积累后,程序员要学会编写精练的程序,程序越短越好,程序的精练程度也是影响程序员水平高低的重要因数。精练的语句永远是程序员追求的目标,程序员可以写长篇小说、可以写短篇小说、但能写出诗来才是最好的。

 

【程序越长水平越高吗】相关文章:

双语作文之职位越高更难摆脱抑郁症吗09-28

学历越高越容易失业?12-22

长沙APP/小程序可以办落户吗03-19

《成功跨越高中》教学反思10-07

CEO越高薪公司越成功11-22

GRE考试不是分越高越好吗01-09

考研并非准备时间越长越好12-24

报关员对英语水平的要求高吗09-30

雅思5.5是什么水平相当于4级吗?12-27

为什么智商越高的人越难相处10-27