阅读更多

4顶
1踩

研发管理

转载新闻 关于程序员开发效率的悖论

2014-03-28 10:19 by 副主编 WnouM 评论(4) 有8127人浏览
程序员看起来应该都是一帮非常高产的人。

你总能看到他们在电脑桌前噼里啪啦的敲着键盘;他们焦急的等待会议结束,希望马上能回去编程。当被问起,他们总是说没有足够的时间编写出这些程序,需要立刻开始编码,这样才能及早完成。

看来,敲代码一定是最重要的事情了,不是吗?

如果一个普通水平的程序员每天能写出50行代码。一个5万行代码的程序将会需要1000人/天来开发。把5万行代码输入电脑里,一个程序员每天能录1000行,也就需要50人/天。

那么,剩下的950天这些程序员都在干什么?

在搞清楚这个问题前,让我们先看一些简单的资料。Capers Jones研究了数万个软件项目,他通过比较其中的各种软件开发方法(RUP,极限编程,敏捷开发,瀑布开发等等)和各种编程语言,发现,一个程序员每月平均写出的代码大概是325行到750行,比我们上面说到的每月1000行还要少。就算是程序员不是每天只写50行代码,但下面两点是清楚的。

  • 开发方法的差异不能解释程序员代码生产量上的不平衡
  • 使用的编程语言无关程序员代码生产量上的不平衡
实际情况是,只有很小一部分的程序员的时间是花在写代码上的。如果一个程序员的所有时间都在敲代码,那他一定是在尝试不同的代码组合,直到找到好用的代码组合。



更准确的说法是,找到看起来是符合需求的“代码组合”——如果测试人员或业务分析师不来告知说这些代码是有问题的。

这就是为什么在把手放到键盘上前喜欢先计划代码如何写的程序员会比其他程序员效率高的原因。事实上,不仅仅只有很少数的程序员在写代码前先计划,很多即使有多年编程经验的老程序员也不知道这个道理。一项持续40年的研究表明,程序员的开发效率并不会随阅历的增加而增加。(参考No Experience Required!

多年的编程阅历并不是必然导致高开发效率

十分有趣的是,各种强调编码前先计划的软件开发方法论都已经存在很长时间了。比如Personal Software Process(PSP)创始人Watts Humphrey根据统计数据说:

引用
PSP能提高21.2%的生产效率和31.2%的质量水平




像这样优秀的实践方法有很多。总之,就像作家动笔前先要构思好文章的结构和内容一样,程序员在按动键盘前如果不先琢磨一阵,很可能发生的情况是他的开发效率不会很高。

英文原文:The Programmer Productivity Paradox  / 译文:外刊IT评论
  • 大小: 4 KB
  • 大小: 221.3 KB
来自: 外刊IT评论
4
1
评论 共 4 条 请登录后发表评论
4 楼 jackra 2014-04-04 11:34
程序员大愚若智
3 楼 dohkoos 2014-04-01 12:52
引用
一个5万行代码的程序将会需要1000人/天来开发


应该是1000人天
2 楼 屁屁虫 2014-04-01 11:09
瞎扯淡的文章,看不到任何硬货。
1 楼 novembersky 2014-04-01 09:48
“Capers Jones研究了数万个软件项目” ,每天研究一两个,也得研究几十年

发表评论

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

相关推荐

  • 联想主板L-IG41M通用BIOS固件,解决不能安装win7 x64系统问题

    本BIOS适用于:联想启天扬天等一系列的G41主板,联想G41的BIOS默认是不支持win7 64位系统的,装win7 64位后会一直卡到windows徽标处,刷入该通用BIOS的ROM之后,支持在G41上安装WIN7 64位系统,成砖后恢复用固件。...

  • 8PE_x64-3.iso

    这个PE在在win8_x64的WinRE基础上加入Win8系统部分组件做出来的。所以体积较大,达460M。 的特色简介: 1、很大,有好多“垃圾”。对精简党而言,这么庞大的PE纯属垃圾,但对某群体而言,是宝贝啊。 2、可手动添加...

  • 巨无霸Win8PE X64服务器维护专用,飞扬时空 Win8/Win10 PE 64位增强版

    Windows PE 是 Windows Preinstallation Environment 的简称,中文名称为 Windows 预安装环境,由微软在2002年7月22日发布。它是带有限服务的最小Win32子系统,基于以保护模式运行的 Windows 内核。可以说它是简化版...

  • win10启动项_UEFI(win7_64X操作系统)添加PE启动项

    网上查找了很多资料,操作描述不尽详细完整,对于我等小白来说有一步描述不详细就进行不下去。一、要实现目标 在已经安装的系统启动管理器里添加PE启动...电脑安装的操作系统为win7_64X(电脑配置较低运行win10不流畅...

  • PE工具箱纯净版.zip

    后续微PE工具箱将采用3.X版本号制作新内核,此10586内核也会同步更新。 2.1版本内核更新内容: 1.为工具箱用户提供教程,因此在PE桌面上增加了一个微PE小助手,扫码可看教程(教程部署中)。 2.更新INTEL RST驱动,...

  • 华南x79主板u盘装系统教程_华南x79主板怎么装win7系统|华南x79主板装win7及BIOS设置...

    但安装win7过程中有很多问题,要采用win7新机型安装,且要关闭“安全启动”和开启兼容win7系统选择,如果是NVME接口的固态硬盘,安装WIN7过程中会出现0x000007b找不到硬盘蓝屏,那么华南x79主板怎么装win7系统呢?...

  • dell服务器pe系统安装win7系统,dell戴尔pe重装win7系统

    接下来是小编为大家收集的dell戴尔pe重装win7系统,欢迎大家阅读:dell戴尔pe重装win7系统给戴尔笔记本安装win7系统准备工作:①、下载安装好大白菜v7并且制作一个大白菜u盘启动盘,具体参考:大白菜v7...

  • Win10PE网络版.iso免费下载无需积分

    内置常用PE工具,7-Zip、EasyImageX_x64、XorBoot Uefi修复、NT6修复、Ghost、CGI、Google浏览器、PENetwork、RegWorkshop、迅雷迷你版、、BOOTICEx64、windows安装器、XP安装器、AnyDesk、向日葵最新国内、国际版,...

  • 华南x79主板u盘装系统教程_华南x99主板装win7系统及BIOS设置教程

    但安装win7过程中有很多问题,要采用win7新机型安装,且要在BIOS中关闭“安全启动”和开启"兼容模式"选择,如果是NVME接口的固态硬盘,安装WIN7过程中会出现0x000007b找不到硬盘蓝屏,那么华南x99主板怎么装win7系统...

  • hp服务器pe系统安装win7系统安装系统安装,惠普Folio 1040 G1 u盘pe如何重装win7系统...

    惠普Folio 1040 G1在平衡机身厚度和续航时间上面,有着无可匹敌的...但是电脑使用时间久了,难免遇到需要重装系统才能解决的问题,所以了解了这款电脑的一些小知识之后,下面不如来看一下这款电脑重装系统教程吧。接...

  • Win10PE Nvme网络版-V2.0.iso支持Nvme硬盘

    内置常用PE工具,7-Zip、EasyImageX_x64、XorBoot Uefi修复、NT6修复、Ghost、CGI、Google浏览器、PENetwork、RegWorkshop、迅雷迷你版、、BOOTICEx64、windows安装器、XP安装器、AnyDesk、向日葵最新国内、国际版,...

  • 万能显卡驱动win7_驱动工具更新!完美支持苹果电脑驱动

    每次驱动总裁更新都会包含:程序更新和...1.2、[更新]新增PE环境注入SRS驱动至原版NT5安装机制;1.3、[更新]新增PE环境静默自动注入驱动至目标系统参数(/PeLoad 不分大小写);1.4、[修复]部分不可写目录环境不能连接...

  • win10系统下制作win10x64pe教程

    资源: 1.工具dism(提取和修改wim文件)+...2.Win10x64原版镜像.iso 3.虚拟机(测试和修改注册表) 开始: 1.提取iso里的boot.wim卷2----因为要修改所以进行提取 dism /export-image /sourceimagefile:w:\sources

  • carbon安装win7 thinkpad x1_联想ThinkPadX1-Carbon2016笔记本U盘重装win7系统教程

    联想ThinkPad X1 Carbon 2016笔记本搭配了i7-8550U处理器,512...小编为大家整理了一些资料,下面一起来看一下联想ThinkPad X1 Carbon 2016笔记本U盘重装win7系统教程。离线U盘重装步骤1、下载老毛桃U盘启动盘制作工...

  • x58服务器主板装win7系统,技嘉Z390主板重装win7方法|Z390主板Bios设置及安装win7图文教程...

    技嘉Z390主板重装win7系统准备工具: 一、安装前的准备工作 1、下载白云系统和白云一键重装系统工具(工具特点:1、支持PE下自动修复UEFI+GPT引导,2、支持LEGACY/UEFI双引导,3、一键装机自动注入nvme驱动) 2、支持...

  • win10系统重装(超简单)

    本文主要讲进入用微pe进行重装系统Windows10,微pe系统里面的每个操作步骤都有介绍,装其他的系统也是一样,非常的简单。操作步骤 第一步:格式化硬盘 第二步:硬盘重新分区 二线品牌有可能会识别不到u盘操作步骤第...

  • vostro3070装win7_戴尔Vostro 3671装win7系统图文教程(USB完美可用)

    戴尔Vostro 3671自带了win10系统,很多网友改成win7后发现进不去系统,或者USB驱动用不了,因为直接用默认设置戴尔Vostro 3671装win7是不支持的,除开BIOS时要关掉安全性运行外,也要选用win7新版本,否则安装后USB...

  • PHP语言基础知识详解及常见功能应用.docx

    本文详细介绍了PHP的基本语法、变量类型、运算符号以及文件上传和发邮件功能的实现方法,适合初学者了解和掌握PHP的基础知识。

  • 公司金融课程期末考试题目

    公司金融整理的word文档

  • 适用于 Python 应用程序的 Prometheus 检测库.zip

    Prometheus Python客户端Prometheus的官方 Python 客户端。安装pip install prometheus-client这个包可以在PyPI上找到。文档文档可在https://prometheus.github.io/client_python上找到。链接发布发布页面显示项目的历史记录并充当变更日志。吡啶甲酸

Global site tag (gtag.js) - Google Analytics