题
根据 LOC(代码行数)的数量来理解一个程序需要多长时间,是否有任何宽泛的、过于笼统的、几乎无用的规则?
(我知道任何规则都会过于宽泛、过于笼统并且大多毫无用处。没关系。)
(所讨论的语言是 Delphi,但这并不重要,因为我正在寻找广泛的、过度概括的且大多无用的规则。)
解决方案
关于对等体的代码审查一些论文说,它应该是介于100个400行的每小时代码。
其他提示
这并不是说确定它需要多长时间来理解一个程序LOC的数量,这是更复杂。
如果我的程序有报表打印的100,000行,我认为该计划是相当清楚的了解。但是,如果我有for循环嵌套有10层高的程序,我认为这将需要更长的时间来了解。
圈复杂可以给的 ROUGH 指示如何努力代码是了解,并且可以以信号一些其他警告标志以及关于您的代码。
我的理论,这是为O(n 2 )(因为你必须了解结合每一行与每个其他线)。
但是,像往常一样用大O符号时得到的实际数值,这个答案很广,和泛化的检讨大多无用。
你不能用谷歌搜索这个,因为每个人用特定语言编程都会有不同的近似数字。
这就是我的意思。
关于节目作家。
- 每个人都有不同的编写和注释代码的风格
- 每种编程语言都有不同的细微差别和可读性
- 即使使用同一种语言,算法也可以通过多种方式实现
- 不同的人使用的数据结构往往有很大差异
- 代码如何在源文件上分布的决定也会随着个人喜好而变化
转向阅读代码的人。
- 人对语言的熟悉程度很重要
- 熟悉所使用的算法和数据结构模式很重要
- 人们一次可以保留的信息量很重要
将注意力转移到环境上,才是重要的事情。
- 分心的程度(对于程序员和试图阅读程序的人来说)
- 程序员接近代码发布时间
- 读者的待定活动和动机
- 邻近热门活动(假期、体育赛事、电影上映日期!)
代码审查指标(这是不一样的东西,但几乎相当)把数以每小时约50-100的LoC的范围内,对于有经验的代码评。
这当然也取决于他们是怎么在审查,语言,复杂性,熟悉度等寻找....但可能反正给你一个总体以偏概全。
我在寻找广阔,并泛化的检讨大多无用的规则。
听起来好像你只是想找到估计时间会花时间去学习新的源代码管理或东西的方式。在这种情况下,找到一个代码片段在网上,并且花费的时间,你多长时间去了解它。除以在片段的行数。添加一些填充。巴姆!有您的规则。
看着那(这 可可莫 方程。它们包含基于源代码行的广泛、过度概括且大多无用的规则。
除了“如何 复杂的 是程序吗?”,其他变量包括“如何 出色地 你明白吗?”和“你明白多少? 其他 诸如程序的功能规范之类的东西?”
当我开始使用新程序时,我尝试将其理解为 小的 尽可能的!具体来说,我尝试:
了解某人希望我做出的更改的功能规范(如果没有人希望我更改程序,那么我根本不需要理解它)
找到并理解 最小可能子集 现有程序的,这将使我能够在不破坏任何其他以前/现有功能的情况下进行更改。