我应该负责多少代码?


13

通过同事和离开面试,我听说在我的小公司中,我“负责”的代码比我在另一份工作中要多3到10倍。我正在尝试寻找某种模糊指标,可以用来比较我的工作量与该领域的其他人。

所谓“代码责任”,并不是说“我是唯一知道代码库X区域的人”(尽管可悲的是,在启动环境中通常是这样),而是指的是“ code_base_size”这样的数字。 / number_of_developers”。

除了计数代码行之外,还有什么资源可以用来帮助我更准确地衡量工作量?


8
代码行不一定是对复杂性或工作量的准确度量。

3
因此,我的最后一句话:)
迈克尔

2
@ThorbjørnRavnAndersen:“准确”吗?我想您可能还有其他意思。这是唯一真正准确(和精确)的度量。Barry Boehm(软件工程经济学)证明了这是唯一明智的措施。这使得它对项目估算毫无用处。但是,作为一项预测工作量和持续时间的回顾性措施,它比其他任何方法都要好得多。
S.Lott

Answers:


12

对于受雇的开发人员而言,唯一的具体衡量标准是花费在编码和修复错误上的时间,以及从中获得的报酬。如果您每周6天在深夜里住宿,每年费用为5万美元,那么您就遇到了问题。不管老板希望您负责多少行代码,您当然都不会超出处理能力,当然要考虑到一定的代码质量。在没有单元测试的情况下开发质量低下的代码是处理更多代码的好方法,但是公司将不得不付出巨额技术债务的代价。

小型公司中,与大型公司相比,开发人员往往负责更多的代码。您所指的系数3到10在我看来似乎很现实。


6

我知道一个三人团队管理着150万行代码库,但并没有淹没其中。重要的衡量标准不是您负责多少代码,而是在一定的时间增量内需要更改多少代码。

还有风险评估角度。如果您是唯一知道一段代码的人,那么,如果您坐公共汽车下车,将会损失多少机会成本?小型公司通常不会像那样进行风险评估,但这意味着业务的持续成功是偶然的。


3

代码库的大小/开发人员的数量与工作量无关。如果您拥有庞大的稳定代码库,那么该指标将很高。如果您仍在开发中,但代码量较小,那么该指标将很低。每个开发人员每单位时间的行数变化与工作量更相关。但是即使那样,我仍然花了几天时间来跟踪那些只修复了一行的细微错误。


2

该代码应由小组而非一个开发人员负责。应该每周公平地分配支持,以其他任何方式分配它似乎很愚蠢。如果不是这种情况,我建议您与管理层交谈。

在这种情况下,您描述的一位开发人员可能难以按时完成任务,因为在其他开发人员正在工作的一个领域提供了大量支持。这是一个非常低效的管理结构。

我也建议您不要用代码行来衡量工作量。工时是我能想到的唯一明智的指标

用代码行来衡量编程进度就像通过重量来衡量飞机建造进度-比尔·盖茨(Bill Gates)

注意 我不是在说平等,而是在说公平。同样值得注意的是,自然而然地擅长于代码库的某些方面。如果没有其他人在该代码上工作,这只是一个问题。


我应该更加清楚-我试图通过避免说“这段代码是我的责任-我独自维护它”来找到一种方法来衡量我的工作量。例如,如果Facebook有2位程序员,那么他们显然会工作过度-但是您将如何得出结论?这就是我要提出的问题的类型。
Michael

2

例如,如果Facebook有2位程序员,那么他们显然会工作过度-但是您将如何得出结论?这就是我要提出的问题的类型。

这不是编程问题,而是管理问题。
有几个简单的问题可以回答这个问题,它们与软件无关。

  1. 你工作几个小时?
  2. 您应该工作几个小时?
  3. 是否按时完成?

然后遵循以下逻辑:

  • 如果1> 2,则需要更多的人或更少的积极截止日期。
  • 如果1 <2,则需要更少的人员或更多的计划。
  • 如果没有满足最后期限,并且1> = 2,则需要更多的人。
  • 如果没有达到最后期限且1 <2,则应解雇某人。

这是过分简化,有两个明显的缺陷。

  • 人不平等。
  • 有一些方法可以使人们提高生产效率(升级他们的计算机等)。

但是你明白了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.