阅读更多

2顶
2踩

编程语言

原创新闻 经验丰富的程序员和代码行数

2011-03-22 09:28 by 见习编辑 jobbole 评论(1) 有7336人浏览

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

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

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

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

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

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

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

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

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

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




  译文出处:伯乐在线 - 职场博客
  译文链接:http://www.jobbole.com/entry.php/569

  原文:John D. Cook   文章推荐:关关  翻译:伯乐在线 敏捷翻译组 - 魏哲


来自: www.jobbole.com
2
2
评论 共 1 条 请登录后发表评论
1 楼 cgd123 2011-03-25 13:42
感觉这篇文章有些水份,读起来不太清楚明了。即没有把要点第一时间讲清楚。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 计算代码行数 程序员专用

    计算代码行数 程序员专用

  • 程序员的代码行数越少越好?

    点击上方“开发者技术前线”,选择“星标”13:21 在看|留言|真爱作者 |Ryland Goldstein出自| CSDN代码行数越少越好?读懂别人的代码很困难?如...

  • 【转】经验丰富的程序员和代码行数

     经验丰富的程序员和代码行数 伯乐在线 - 职场博客     编者按:原文作者John D. Cook是一位数学教授、程序员、顾问、经理人和统计学家,善于并享受结合运用这些技能来解决问题。  最近,我听说了一个关于...

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

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

  • [转载]经验丰富的程序员和代码行数

     最近,我听说了一个关于缺乏经验的程序员和经验丰富的程序员每天写相同行数的代码的研究结果。其不同之处在于,经验丰富的编程人员让这些代码更高效, 向着目标稳步前进;缺乏经验的程序员单纯地将大段的代码分隔...

  • 奇葩公司规定程序员工资按代码行数算工资,个个提成这么高?

    一位朋友说自己以前在一家公司工作,这家公司对于程序员的工资是按照代码行数来算工资的,这的确是很稀奇的一件事情,后来这家公司有位员工就利用了这个规则,最后光是提成就拿到了2.6万,听起来真的很不错。...

  • 程序员的代码行数真的越少越好吗?

    点击上方“Java精选”,选择“设为星标”别问别人为什么,多问自己凭什么!下方留言必回,有问必答!每天08:00更新文章,每天进步一点点...代码行数越少越好?读懂别人的代码很困难?如...

  • 论程序员按代码行数领工资是什么体验?

    在云计算和大数据持续发展的推动下,程序员的开发任务边界在不断得到拓展,程序员需要同时承担更多的开发任务,这就就导致当前很多开发团队更愿意招聘全栈开发人才。不论是从事研发级程序员岗位还是应用级程序员开发...

  • 程序员的成长和代码行数的关系

    在2011年John D. Cook写了一篇博客,其中提到:我的朋友Clift Norris发现了一个基本常数,我称之为Norris常数,一个未经培训的程序员在他或她遇到...

  • 程序员的代码行数是越少越好吗?

    作为开发人员,你会听到许多有关“代码行数”的令人难以置信的疯狂理论——不要相信他们!以代码行数作为决策依据是一件非常荒谬的事情。在极少数情况下,代码行数可能还有那么一丁点意义,在绝大数情况下,代码行数...

  • 20170425 程序员的成长和代码行数的关系

    程序员的成长和代码行数的关系

  • 经验丰富的程序员和其每日代码行数

    他曾撰文说(中文): “最近,我听说了一个关于缺乏经验的程序员和经验丰富的程序员每天写相同行数的代码的研究结果。其不同之处[在于,经验丰富的编程人员让这些代码更高效,向着目标稳步前进;缺乏经验的程序员单纯...

  • 【git】Git 指令统计代码行数

    8、统计所有Java代码总行数提交修改的信息(有明细展示)3、统计每个用户的所有提交代码行数(包括增、删、修改等)9、统计所有其他文件总行数提交修改的信息(有明细展示)6、统计代码提交的人数,也称:统计仓库...

  • 神奇宝贝(PokemonGo)基于Jetpack+MVVM+Repository设计模式+Data.zip

    神奇宝贝(PokemonGo)基于Jetpack+MVVM+Repository设计模式+Data

  • 用于试用 Dev Containers 的 Python 示例项目.zip

    用于试用 Dev Containers 的 Python 示例项目试用开发容器Python开发容器是一个具有明确定义的工具/运行时堆栈及其先决条件的运行容器。您可以使用GitHub Codespaces或Visual Studio Code Dev Containers试用开发容器。这是一个示例项目,您可以通过几个简单的步骤尝试任一选项。我们还有各种其他vscode-remote-try-*示例项目。注意如果您已经有代码空间或开发容器,则可以跳至“要尝试的事情”部分。设置开发容器GitHub Codespaces请按照以下步骤在 Codespace 中打开此示例单击代码下拉菜单。单击Codespaces选项卡。单击主屏幕上的“创建代码空间”。有关创建代码空间的更多信息,请访问GitHub 文档。VS Code 开发容器如果您已安装 VS Code 和 Docker,则可以单击上方或此处的徽章开始使用。单击这些链接将导致 VS Code 根据需要自动安装 Dev Containers 扩展,将源代码克隆到容器卷中,并启动开发容器以供使用。按

  • springboot vue3前后端分离.zip

    springboot vue3前后端分离

  • 数学建模-神经网络算法 lecture 11 线性随机系统辨识示例 共9页.pptx

    数学建模-神经网络算法 lecture 11 线性随机系统辨识示例 共9页.pptx

  • 优质粳稻生产技术规程.docx

    优质粳稻生产技术规程.docx

Global site tag (gtag.js) - Google Analytics