`
gongstring
  • 浏览: 580939 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

经验丰富的程序员和代码行数

    博客分类:
  • Java
阅读更多

 编者按:原文作者John D. Cook是一位数学教授、程序员、顾问、经理人和统计学家,善于并享受结合运用这些技能来解决问题。

  最近,我听说了一个关于缺乏经验的程序员和经验丰富的程序员每天写相同行数的代码的研究结果。其不同之处在于,经验丰富的编程人员让这些代码更高效,向着目标稳步前进;缺乏经验的程序员单纯地将大段的代码分隔开,并且多次复写相同的代码块直到它们看起来能够运行。或者不拆分代码,他们连续调试好多天,几乎是随机的改变一两行代码,直到这些代码看起来能够运行。

  正如格雷.威尔森在他的采访中所指出的,将注意力放在软件开发的质量上,往往也会提高生产力。更多的努力,会带来进步;反之,将会导致“回锅肉”(返工)。

  经验丰富的程序员不仅能每天编写更多行值得借鉴的代码,而且他们的每行代码都能实现更多的功能,有时候多的不可思议。但是这并没有什么新奇的。众所周知,最优秀的程序员不是一般的高产,他们的产量一般是普通程序的一倍或两倍。(例如Joel Spolsky的书《聪明的完成工作》Smart and Gets Things Done)。更有意思的是,在编写和理解代码方面,最优秀的程序员看起来并没有什么更高超的能力。

  并且,也有研究显示,程序员每天编写相同行数的代码与他们使用的语言无关。你可能认为使用汇编语言的程序员每天能比使用像VB或Java之类的高级语言的程序员编写更多的代码,但是事实并非如此。虽然通过数代码的行数来衡量程序员的产量是一种很烂的方法,但它却是判断一个人大脑能装多少东西的好方法。

  (编注:在原文评论中,Fred Mitchell 的评论非常精彩,编译如下。)

  我编写代码的时间已有30年,我可以非常肯定地说,和那些仅有过两三年代码经验朋友的代码来比,根本没有可比性。
  
  为了更好地反应手中问题,我在代码中力争清晰性和简洁性,也注重“清洁”的架构和对象模型。我所编写的东西有,操作系统、驱动、应用程序、中间件和Web应用。

  不仅是代码,还有算法、模式和数据结构。一个经验不多的程序员或许并不喜欢某些算法,从而选择一个“蛮力”方法,而不是选择更有效并省时的方法。

  但是通过代码行数来判断工作的方法,并不能反映出所有这些。这种方法完全是一个愚蠢之极的想法。注释算不算进代码行数呢?有时候,我写的注释,比代码还要多,因为我想尽可能详细一些,我不想6个月之后再来看这些代码的时候,我是一头雾水。(编注:在伯乐在线编译的《风雨20年:我所积累的20条编程经验》这篇文章中,就重点提到添加注释,千万别担心过多注释,不仅对你以后查阅代码时有帮助,后来接手的同行或技术支持,都会感激你的。)

  真正的生产力是无法轻易和快速测量出来的。有时候,你必须考虑业务模式。总共节省了多少时间,节省(或创造)了多少钱,代码所涉及的维护或停工时间是多少,客户服务的工作量是多少,等等。所有这些才是影响真正生产力的因素。

分享到:
评论

相关推荐

    代码行数统计工具linecount3.6.3.zip

    用于程序员统计代码行数的工具,使用方便快捷,很快就能给出统计结果,并且可以设置统计的方法和形式,可用于管理程序员的工作量

    计算代码行数 程序员专用

    计算代码行数 程序员专用

    一个源代码行数统计器

    源代码行数统计器,这是好软件,很多程序员都想统计自己写的代码到底有多少行,我也一直再找,终于找到了一个!

    C#程序员统计自己的代码行数

    昨天突发奇想,想统计下这些年到底写过多少行代码,于是做了一个这个小程序来统计代码行数。老规矩,先上图。 比较惭愧,写了两年只有2万多行。那我们还是进入下一项吧。 界面搭建我也不说了,我就讲一下思路和核心...

    有趣的代码行数计数器

    很不错的的代码行数计数器。 如果你是学生,应该用来看看你这4年有没有几万行代码。 如果你是程序员,用来自娱自乐也不错哦。 希望大家发你的成绩上来!

    linecount用于对目前流行的几乎所有编程工具所编写的程序进行代码统计,分析出程序中的代码行、注释行、空白行的行数和比例,软

    用于对目前流行的几乎所有编程工具所编写的程序进行代码统计,分析出程序中的代码行、注释行、空白行的行数和比例,软件支持VC++、C

    每天学点C++知识:不要节约代码行数

    有个国外团队检测了200多个C/C++开源项目,包括了Php、Qt和Linux内核等知名项目。...  一些程序员竭尽全力想把更多的代码压缩到一行。他们尤其热衷于“if”条件语句,把赋值和比较一次性完成。  一个典型的

    代码计数器-程序员实用工具

    程序将查找该根目录下的所有子文件,查找匹配目标后缀名的文件并计算注释行数、空白行数、有效代码行数。 使用此程序可以方便的统计自己的工作量和劳动成果。祝大家学习愉快,代码敲敲更健康~~~~

    linecounter

    可以统计程序员写的代码行数 去除注释 空格等不必要的行数 很方便 MFC开发

    智能软件源码统计软件工具

    首先,它可以用于个人或团队项目的代码行数统计,帮助开发者更好地了解项目规模和进度。其次,它可以用于比较不同版本或分支的代码行数,从而发现代码的变化和差异。此外,它还可以用于代码审计和质量控制,帮助发现...

    程序员们应该这样写代码

    写程序的规范, 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库函数和公共函数。 1.4 不要随意定义全局变量,尽量...

    源代码统计工具

    可以详细统计程序员所编写的源代码行数。不需要一行行数了。

    汇编语言代 码 风 格(Code style).chm

    ● 汇编的源代码占用的行数比较多,代码行数很容易膨胀,程序规模大了如何分清一个函数是系统的API还是本程序内部的子程序? 实际上上面的这些问题都可以归纳为区分作用域的问题。为了分清变量的作用域,命名中对...

    java宝典,程序员十戒

    高效率的代码是件好事,但很多情况下,并非代码行数越少效率就越高。看下面这个“简单”的例子:if(newStatusCode.equals("SD") && (sellOffDate == null || todayDate.compareTo(sellOffDate)|| (lastUsedDate != ...

    C++小知识:不要节约代码行数

    本篇案例来自 KDE4 源码...一些程序员竭尽全力想把更多的代码压缩到一行。他们尤其热衷于“if”条件语句,把赋值和比较一次性完成。 一个典型的错误模式是使用if (A = Foo() == Error) 这样的表达式。上面我们正在处理

    pb代码美化助手、小工具

    作为一名PB程序员,您是否有过为了查找某一语句而不辞辛劳地打 开一个又一个事件或函数,在其脚本中苦苦寻觅的痛苦经历;...对选定的PBL库进行对象及代码行数统计。 * 代码浏览。PowerScript语法高亮显示。

    多语言转换工具_v1.3.zip

    优点1:多线程快速处理批量文本文件,(搜索、代码行数统计、字符串总数统计、替换) 例如:二十几个文件、几万行代码搜索和替换大概在200ms左右、并且排除了重复的字符串,大大减少翻译的工作 优点2:不限于 C/...

    一种CPU占用过高的故障定位分析方法

     CPU占用过高是LINUX服务器出现常见的一种故障,也是程序员线上排查错误必须掌握的技能,我们经常需要找出相应的应用程序并快速地定位程序中的具体代码行数,本文将介绍一种CPU占用过高的一种处理思路,文中采用四...

    java拼图游戏源码.zip

    这是一个java写的拼图游戏,用了swing、多线程等知识,可以设置行数列、列数、还有使用多线程写的游戏动画,拼图的图块具有磁贴设计,代码封装性较强,容易移植,纯原创。

Global site tag (gtag.js) - Google Analytics