所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

一个程序员的代码编写量,能否决定他的编程水平?

发布时间:2020-04-15 16:19:37

资讯分类:程序员  编程  编写  代码  编程  自己的  能力
一个程序员的代码编写量,能否决定他的编程水平?

编程水平与代码编写量并不是一元回归关系,而是多元回归关系。影响编程水平这个因变量的,除了代码编写量,更重要的还有思考复盘,知识量等其他自变量。就好像古代书生读的书多,也不一定能落笔生花一样。

题主这个问题的目的一定是要提高编程水平。

首先,根据这个问题,可以判断题主是一个编程领域的初学者。那么在初学阶段,你确实需要多多编写代码,目的是尽快熟练编程语言的使用方法,比如学会常用API,确定编程习惯等等。但是随着你对编程语言逐渐熟练之后,每天写五千行System.out.println();也是对编程水平没有帮助的。

这个时候需要扩展自己的眼界,去了解这种编程语言还能实现哪些复杂的能力。举例,当你会写简单的java application之后,你就要进一步给自己出题,比如你有个txt文件,里面存储了50000条重复数据,如何用Java去处理,最终得出distinct的数据以及重复次数呢?这个过程,你不仅复习了Map的知识,还了解了File,BufferReader等等IO相关的操作。

当你的编程水平达到了一定的程度,你可能就会想学习引入工具来提高自己的编程效率,比如maven项目管理,SSH框架等等。给自己设置的题越来越复杂,为了解决它们,你就会不得不提高自己的编程能力。

目前,企业内高级工程师,其实是很少写代码的。因为对于他们来说,重要的工作已经不再是编程能力,而是架构设计能力。而架构设计能力通常是在大量的编程实践中不断反思,总结得出的。这就回到了开头我说的,思考复盘也是左右程序员编程能力的一个因素。能够不断反思改进自己的代码,也是编程能力的一种提高。

以上是我的浅见,欢迎各位在下方评论留言交流。

我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。

一个程序员的代码编写量,能否决定他的编程水平?

作为程序员,发表一下我的看法

代码编写量少,水平肯定不会高。代码编写量多,水平也不一定会高。在编程业界,有这么一句话:“十万行代码铸成编程高手”,说明了代码量对编程人员的重要性。

在工作中,新手程序员由于经验不足,编写的代码质量往往比较低。而有的程序员工作好多年了,写的代码仍然杂乱无章,读起来晦涩难懂,毫无设计感,所以代码量并不是决定你编程水平的充分条件,而是必要条件。

要想成为编程高手,光靠代码量是没用的,重要的是如何去写代码。首先,多读书,多学习,尤其是编程的基础知识,要知其然,知其所以然。其次,要多思考,多动手,多实践,学以致用。最后,知识面要广,但是要专攻某一领域,百艺通不如一艺精。

一个程序员的代码编写量,能否决定他的编程水平?

当然不能!(大家都应该认识文章中配图的这位大神吧,看完文章Google吧)

代码质量的重要性远高于代码数量的重要性,代码质量代表的往往是天赋,而代码数量往往代表的是经验。我们经常说努力代表下限,天赋代表上限,其实跟这个是一个道理。当然要想成为一个优秀的程序员,代码数量肯定是要有的,根据《一万小时天才理论》,足够的训练,或者我们说刻意练习当然是非常重要的一个因素。

对不起:没有规定努力一定就会成功

相信大家都曾经在学生时代,听过最多的一句名言就是,爱迪生说:天才是百分之九十九的勤奋加上百分之一的灵感。但其实我想说的是,真正决定你的成就的其实往往是那百分之一的灵感,而我把这个称之为天赋。

编程当然也是有天赋的,而这个天赋就是逻辑思维能力,一个人的逻辑思维能力,或者说数理思维,真正决定了你在编程这个行当里面能够取得多大的成就。也许你会发现,同样是写代码,别人的算法就是比你写得漂亮一些,别人的数据结构就是比你的准确一些,别人的循环就是比你少一些,别人写代码就是比你快一些,同样的事情,别人轻轻松松三下五除二就搞好,但是你却是想破脑袋就搞不定,这就是天赋!

就好像学生时代读书一样,同桌的你总是发现,你的同桌小伙伴上课从来不计笔记,上课的时候摆着一本金庸看得热火朝天,周末的时候你可认真的整理错题集,超努力的刷题,超霸得蛮的复习课程、预习新课,人家周末的时候该打游戏打游戏,该上网上网,该打球打球......但是高考之后,在学校的光荣榜上,人家是北大清华、985、211,而你只是普通重点......这是现实,每个人天赋不一样,有的人他就擅长做这些事情,编程也是同样的,好的天赋能写出更加优质的代码。

代码量跟代码数量也是两回事,也许别人代码量不够,但是人家永远都能接触到新的技术、新的知识、新的业务,而你永远都是做CRUD,永远都是做的重复的业务,永远都是在做几乎一样的事情,那么请问,你的代码量意义何在?

因此我觉得一个人的编程水平,在一定的代码量保证下,最为重要的还是天赋上的因素更为重要,这样你才能保证你能输出更高质量的代码。不管你爱不爱听,很多时候天赋远比努力来得更加重要。

一个程序员的代码编写量,能否决定他的编程水平?

不敲代码,编程水平一定不会提高;

敲很多代码,编程水平不一定会提高!

我们不能单纯的用代码编写量去衡量一个程序员编程水平的高低。


代码少不等于代码不好

同样实现一个功能,代码的多少跟代码的好坏没有一毛钱关系。

最简单的例子,一条语句输出一百遍,你是写一百行输出,还是写一个循环呢,或者你用多线程输出呢。


刚工作的时候,项目上要做一个webservice的接口调用,我用xfire实现的,具体代码记得不是很清楚了,印象中每一个参数都要new QName()进行设置,一个接口调用几十个参数,那乌压压一大片代码呀。

后来知道axis了,也会用IED插件儿自动生成客户端了。

慢慢的,很少使用webservice+xml的方式了,更多的使用JSON请求Http接口了。

而现在,我们可能直接使用Feign进行接口调用了,这个真的是几行代码就可以搞定了,有兴趣的同学可以查一查这个框架。(下图最右边的那个)


敲代码越来越少,思考的越来越多

不可否认,我们在学习编程的时候、刚开始工作的时候,确实需要敲大量的代码,已提高自己的编程水平和熟练程度。这是必不可少的步骤,天天看书看视频,就算把书上的例子全部都背下来,也不能算是会编程。


但是随着工作经验的积累,我们花在总结、思考、设计、优化上的时间越来越多;甚至有可能一个功能的改造,百分之九十的时间是在思考修改方案,最后只花了十分之一的时间,改了几行代码就完成了功能的实现(这个真的不是夸张)。


要记住:工作时间+思考和总结=工作经验


希望我的回答能够帮助到你。

一个程序员的代码编写量,能否决定他的编程水平?

从03年开始做程序设计一路走来,总的来说代码量越写越少。

刚开始做程序开发的时候,我主要还是做功能实现,负责项目设计的同事把接口写好,剩下的事情就是写功能实现。写功能实现的难度并不大,简单的说就是把数据按照固定格式处理结束之后,回传出去就可以了。这期间每天的代码量都比较大,平均一天下来也能有500行左右。

随着自己编码能力的提高,很多代码的复用会做的比较好,在整体的实现过程中会采用更加简便的实现方式,也懂得使用模块化的开发模式,伴随着这个过程代码量有一定程度的下降,但是思考的时间变长了,有的时候需要一些时间来做验证。

在2006年确定了自己的主攻方向之后,代码量再次下降了。因为工作的中心已经从功能编写调整到一些框架设计以及算法实现上,这个期间的代码量一天也就在200行左右,这里面还有不少是在编写接口。这期间的工作重点是实现算法、做数据分析和建模,这期间还使用了MATLAB,所以在编码上就下降了不少,但是难度却提升了很多,有时候完成一个算法的验证需要一周甚至更长的时间。

2010年之后,我的主攻方向又增加了机器学习和大数据的内容,这时候我每天的代码量又再次下降了,平均也就是100多行吧。有的时候一天就能写几十行代码,而关于算法的分析、训练、验证的时间变得更长了。刚开始使用Java的时候代码量还能多一些,后来使用Python了,代码量就下降了很多,目前也在使用Python做算法实现。

其实,做计算机研发,程序设计更像是工具,无论使用什么语言,最终的任务都是实现功能。编码量的大小跟所处的角色有较大的关系,跟编程水平的高低并没有太直接的关系。当然,高水平的程序员一定有大量的编码基础,这个是毋庸置疑的。

一个程序员的代码编写量,能否决定他的编程水平?

没有代码数量,编程水平怎么讲,都有限。代码数量是体现编程水平的标准之一。我认为,衡量编程水平的标准,有以下八点:



1.代码数量。编程能力最直接的体现的实现功能,编码是直接的手段,即写代码。在写过数万代码之后,才能熟练甚至精通所用语言。

2.代码质量。有了量的积累,关键要提升到质。简单易读,实现功能,且符合编码规范的代码才是高质量的代码。

3.业务逻辑。代码实现功能,内在逻辑就是业务需求。良好的业务逻辑可以很好的规划,编写代码。

4.代码阅读。无论是学习,还是实际开发,都少不了代码阅读。无障碍阅读大量代码,是编程人员的要求之一,也是编程水平的体现。

5.知识应用。学习知识,并应用于开发中,是编程的基本能力。

6.抽象具体。抽象化与具体化,是编程的基本要求,抽象的目的是通用,具体的目的是单一。抽象与具体,是模块化,系统化的良好方法。

7.文档注释。代码注释,项目文档(API文档,模块文档,糸统文档……),便于积累,传播,传承。注释水平,文档水平,反映了编程的水平。

8.总结经验。编程能力一个重要的方面是总结经验,没有总结,量变很难提升到质变。没有提升,写一年代码,和写十年代码,差异不大。



其他的,欢迎各位补充。



谢谢大家。

一个程序员的代码编写量,能否决定他的编程水平?

编码量是一个必要但不充分的条件。

从某种意义上说,编码大部分时候都是一个经验积累的过程,真正需要全新研究的技术或者业务实现并不太多,君不见,软件公司招聘最看重的就是开发经验,虽然别的因素也会占较大的比重,但是和经验比起来,都不是最重要的。

那么,和别的行业类似,经验的积累,主要还是靠编码量,写的代码多了,见识的面广了,解决问题的类型和思路也会随之开阔起来,从而让自己的编码水平从量的积累到质的飞跃。

但是,光编码量还是不够的,还要学会思考,这个比单纯累计编码量更重要,比如那重要的23种设计模式,如果没有一定的编程经验,比较难理解,但是,在编码经验的基础上,就能很快融会贯通,对经验系统的总结、分析、提炼,才是能提高自己能力的灵丹妙药。

一句话,编码量大的不一定是优秀的程序员,但编码量少的肯定不是优秀的程序员。

一个程序员的代码编写量,能否决定他的编程水平?

代码量只是占比很小的维度。衡量编程水平的维度有很多,主要考虑几个方面:

  1. 效率

  2. 稳定性
  3. 扩展性
  4. 维护性
  5. 阅读性

一个程序员的代码编写量,能否决定他的编程水平?

这就像吃饭一样,饭量是否决定你的肌肉水平增长?很明显这并不是决定因素,但却是辅助因素之一。

到头来,代码编写量并不重要,重要在于如何快速在写的过程中提升自己的编程思想。

一个程序员的代码编写量,能否决定他的编程水平?

1代码注释 包含易读性,整洁性,代码规范等

2程序效率吧,这个看行业了,偏硬件的,有句名言:算法+数据结构=程序 把握算法,使用合理的数据结构,就可以了

偏web,当然是并发啊,多线程安全啊,数据库事务什么的

以上仅代表个人观点

一个程序员的代码编写量,能否决定他的编程水平?

有这个因素但不全是,程序员这条路就是靠大量的练习、积攒经验写出来的,看一万遍,不如自己去写一边。 所以,如果一个人写的代码特别多,可以说他是一个厉害的程序员,但这只是粗狂的评价,一个程序员的编程水平包括但不仅限于代码量,还要看代码的质量以及这个人的编程思想。如果一个程序员一直写一样的代码,那他写在多遍都不会成长。 所以,决定编程水平的,不仅仅是代码量


--河南新华电脑学院

一个程序员的代码编写量,能否决定他的编程水平?

首先感谢邀请,那我就回答一下。我本身也是一位程序员,我觉得一个程序员的代码量多只能说明他对某一种语言的熟悉程度,并不能完全用编程的代码量来衡量一位程序员的技术含量。我认为编程是靠一种思维,在一边学习,一边敲代码的过程中学会思考,否则相同的代码回敲很多遍,但是原理还是没有掌握。比起代码数量,我们要更注重代码的质量,和我们学到的东西,这些才是一个程序员的考核标准。

一个程序员的代码编写量,能否决定他的编程水平?

业界有个说法是:不写够十万行代码,算不上是入门。


如何快速提升编程水平?


1.多看看业内人做的学习笔记,一般你在csdn里很容易看到。

2.可以看看一直免费的公开课视频,有讲技术的老师会直播写代码的过程,动脑学院你可以去看看。

3.GitHub上有很多开源的项目,有很多大牛写的项目代码很规范,你可以对照写一遍。

一个程序员的代码编写量,能否决定他的编程水平?

分两种情况的,一种是拷贝型的程序员,没有面向对象思想,相似内容不停复制,没有重用,试过维护这些代码,只能用一个字“坑”来形容,另一种是水平好又写得多的,往往后面就精益求精,思想有所升华,所以,代码量不能决定他的水平,但代码质量反映他的水平,“量”和“质量”相差一个字差别很大。

一个程序员的代码编写量,能否决定他的编程水平?

宏观可以反映程序员的产出

一个程序员的代码编写量,能否决定他的编程水平?

能衡量是否是一名合格的码农,但是没法分辨是否是高手。

一个程序员的代码编写量,能否决定他的编程水平?

并不能

一个程序员的代码编写量,能否决定他的编程水平?

不能,但是成为高手都要经历一个为了码代码而码代码的过程。

留言与评论(共有 0 条评论)
   
验证码:
Top