编者按:原文作者John D. Cook是一位数学教授、程序员、顾问、经理人和统计学家,善于并享受结合运用这些技能来解决问题。
最近,我听说了一个关于缺乏经验的程序员和经验丰富的程序员每天写相同行数的代码的研究结果。其不同之处在于,经验丰富的编程人员让这些代码更高效,向着目标稳步前进;缺乏经验的程序员单纯地将大段的代码分隔开,并且多次复写相同的代码块直到它们看起来能够运行。或者不拆分代码,他们连续调试好多天,几乎是随机的改变一两行代码,直到这些代码看起来能够运行。
正如格雷.威尔森在他的采访中所指出的,将注意力放在软件开发的质量上,往往也会提高生产力。更多的努力,会带来进步;反之,将会导致“回锅肉”(返工)。
经验丰富的程序员不仅能每天编写更多行值得借鉴的代码,而且他们的每行代码都能实现更多的功能,有时候多的不可思议。但是这并没有什么新奇的。众所周知,最优秀的程序员不是一般的高产,他们的产量一般是普通程序的一倍或两倍。(例如Joel Spolsky的书《聪明的完成工作》Smart and Gets Things Done)。更有意思的是,在编写和理解代码方面,最优秀的程序员看起来并没有什么更高超的能力。
并且,也有研究显示,程序员每天编写相同行数的代码与他们使用的语言无关。你可能认为使用汇编语言的程序员每天能比使用像VB或Java之类的高级语言的程序员编写更多的代码,但是事实并非如此。虽然通过数代码的行数来衡量程序员的产量是一种很烂的方法,但它却是判断一个人大脑能装多少东西的好方法。
(编注:在原文评论中,Fred Mitchell 的评论非常精彩,编译如下。)
我编写代码的时间已有30年,我可以非常肯定地说,和那些仅有过两三年代码经验朋友的代码来比,根本没有可比性。
为了更好地反应手中问题,我在代码中力争清晰性和简洁性,也注重“清洁”的架构和对象模型。我所编写的东西有,操作系统、驱动、应用程序、中间件和Web应用。
不仅是代码,还有算法、模式和数据结构。一个经验不多的程序员或许并不喜欢某些算法,从而选择一个“蛮力”方法,而不是选择更有效并省时的方法。
但是通过代码行数来判断工作的方法,并不能反映出所有这些。这种方法完全是一个愚蠢之极的想法。注释算不算进代码行数呢?有时候,我写的注释,比代码还要多,因为我想尽可能详细一些,我不想6个月之后再来看这些代码的时候,我是一头雾水。(编注:在伯乐在线编译的《风雨20年:我所积累的20条编程经验》这篇文章中,就重点提到添加注释,千万别担心过多注释,不仅对你以后查阅代码时有帮助,后来接手的同行或技术支持,都会感激你的。)
真正的生产力是无法轻易和快速测量出来的。有时候,你必须考虑业务模式。总共节省了多少时间,节省(或创造)了多少钱,代码所涉及的维护或停工时间是多少,客户服务的工作量是多少,等等。所有这些才是影响真正生产力的因素。
分享到:
相关推荐
在软件开发过程中,代码行数(Lines of Code, LOC)常被用作衡量项目规模、工作量和复杂度的一个指标。本文将详细讲解如何使用两种工具来统计代码行数:SourceCounter和另一个未命名的工具,它们都包含在提供的...
LineCount3.6.3就是这样一款专为程序员设计的代码行数统计工具,它适用于Windows XP及以上的操作系统,为开发者提供了便捷的方式来分析代码库的大小。 首先,让我们深入理解代码行数统计的意义。代码行数是衡量软件...
LineCount 3.6.3就是这样一款专为程序员设计的代码行数统计工具,它以高效、易用著称,能快速提供精确的统计结果,帮助项目经理或开发者有效地管理和评估项目进度。 首先,LineCount 3.6.3的核心功能在于其强大的...
对于程序员而言,了解如何计算代码行数是十分必要的,这有助于项目管理和进度估算。下面将详细介绍计算代码行数的相关知识点。 1. **为什么要计算代码行数?** - **项目规模估算**:初步估计项目所需的工作量和...
代码行数查看工具是一种实用程序,它可以帮助程序员和软件开发者快速统计项目中包含的源代码行数。在软件开发过程中,代码行数有时被用作评估项目规模、工作量或复杂性的指标。这款由个人使用MFC(Microsoft ...
本文将深入探讨“项目代码统计,代码行数统计”这一主题,包括如何计算不同类型的代码行,以及如何利用工具进行文件和文件统计。 首先,代码行数(Lines of Code, LOC)是衡量项目工作量的一个基本指标。它通常分为...
用户下载后,可以直接在Visual Studio 2005环境中打开项目,加载源代码,然后通过编译和运行来执行代码行数统计。 源代码行数的统计通常包含以下几个方面: 1. **有效行数**:这是指执行实际功能的代码行,不包括...
Python代码行数统计工具是一种非常实用的开发辅助软件,它可以帮助程序员快速了解项目中的代码规模,从而进行有效的代码管理和优化。这个压缩包“python代码行数统计.zip”包含了一个这样的工具,它专用于统计Python...
总的来说,源代码行数统计器是程序员的得力助手,能够提供项目大小的定量信息,辅助项目管理和代码审计。而CodeLineCounter.exe和说明.TXT的组合,提供了一个方便的解决方案,让开发者无需手动计数就能快速获取这些...
首先,我们要明白Java代码行数不仅仅是程序的实际逻辑行,还包括注释和空行。注释对于代码的可读性和维护性至关重要,而类的数量则反映了程序的结构复杂性。在Java项目中,一个类通常代表一个独立的功能单元或对象。...
1. 统计代码行数的重要性:统计代码行数可以证明程序员的能力和经验, many programmers regard the number of code lines written as a benchmark of their programming experience. 2. 小编的编程经验:小编已经...
标题中的“统计代码行数程序”是指一个工具或软件,其主要功能是计算代码文件中的行数。这个程序特别之处在于它...通过自定义文件类型和大括号识别,它能够提供准确且符合编程习惯的代码行数统计,有助于提升工作效率。
例如,如果知道一个程序员每天平均可以编写100行有效的VB代码,那么可以根据项目的总代码行数来估算完成项目所需的时间。同时,通过对代码行数的监控,可以及时发现可能的代码膨胀问题,预防代码质量下降。 VB代码...
在编程领域,了解项目中的代码行数是评估工作量、复杂性和维护性的重要指标。VC++,即Visual C++,是Microsoft开发的一款强大的C++集成开发环境,它提供了丰富的工具和功能来支持软件开发。本篇文章将深入探讨如何...
源代码行数统计工具是一种非常实用的软件开发辅助工具,它可以帮助程序员和项目管理人员快速获取项目中的源代码总量,进一步分析项目的规模、复杂性以及工作效率。这类工具通常能够处理多种编程语言,包括但不限于C...
有些高效的程序员可能通过模块化和函数重用来减少代码行数,而有些则可能倾向于更详细的注释和冗余代码,这会导致代码行数的差异。然而,当没有其他度量标准时,LOC仍然是一个快速估算项目大小的指标。 代码行数...
本文将深入探讨如何有效地统计代码行数,包括处理注释和空行。 首先,我们要明确代码行数统计的分类。一般来说,代码行数分为以下几类: 1. **源代码行**:这是实际执行的代码,不包括注释和空行。 2. **注释行**...
代码行数统计器是一款实用工具,它可以帮助程序员快速地计算出他们的源代码文件或整个项目中的总代码行数。在软件开发过程中,了解代码行数虽然不能直接衡量代码质量,但可以作为评估工作量、进度或者对比不同实现...
- 不同程序员的编码风格不同,相同功能的代码行数可能差异很大。 - 注释和空行的处理方式会影响结果的准确性。 - 代码质量、模块化和重用性等因素无法通过行数体现。 - 对于高度抽象和函数库丰富的项目,行数可能...