Project management 主动使用';代码行';(LOC)软件开发过程中的度量?

Project management 主动使用';代码行';(LOC)软件开发过程中的度量?,project-management,refactoring,agile,Project Management,Refactoring,Agile,代码库的大小与软件系统的复杂性有很大关系(大小越大,维护和扩展的成本就越高)。映射代码库大小的一种方法是简单的“代码行(LOC)”度量(另请参见) 我想知道你们中有多少人使用这个指标作为回顾的一部分来创建意识(删除未使用的功能或死代码)。我认为,让人们意识到更多的代码行意味着维护和扩展更加复杂是很有价值的 我不是将LOC作为细粒度度量(在方法或功能级别上),而是在子组件或完整产品级别上。我发现它有点无用。某些类型的函数——例如,用户输入处理,不管怎样都会有点冗长。我更愿意使用某种形式的复杂性度量

代码库的大小与软件系统的复杂性有很大关系(大小越大,维护和扩展的成本就越高)。映射代码库大小的一种方法是简单的“代码行(LOC)”度量(另请参见)

我想知道你们中有多少人使用这个指标作为回顾的一部分来创建意识(删除未使用的功能或死代码)。我认为,让人们意识到更多的代码行意味着维护和扩展更加复杂是很有价值的


我不是将LOC作为细粒度度量(在方法或功能级别上),而是在子组件或完整产品级别上。

我发现它有点无用。某些类型的函数——例如,用户输入处理,不管怎样都会有点冗长。我更愿意使用某种形式的复杂性度量。当然,您可以将两者结合起来,和/或任何其他您喜欢的指标。你所需要的只是一个好的工具——我使用(除了满意的用户之外,我和他没有任何关系),它是免费的,可以为你提供LOC和复杂性度量


我在编写代码时使用SM,以使我注意到过于复杂的方法。然后我回去看看。大约有一半的时候我会说,好吧,那需要这么复杂。我真正想要的是和SM一样好的(免费)工具,但它也支持某种类型的标记列表,上面写着“忽略方法X、Y和Z-它们需要复杂”。但我想这可能很危险,这就是为什么我至今没有向SM的作者推荐这个功能。

我觉得它有点没用。某些类型的函数——例如,用户输入处理,不管怎样都会有点冗长。我更愿意使用某种形式的复杂性度量。当然,您可以将两者结合起来,和/或任何其他您喜欢的指标。你所需要的只是一个好的工具——我使用(除了满意的用户之外,我和他没有任何关系),它是免费的,可以为你提供LOC和复杂性度量


我在编写代码时使用SM,以使我注意到过于复杂的方法。然后我回去看看。大约有一半的时候我会说,好吧,那需要这么复杂。我真正想要的是和SM一样好的(免费)工具,但它也支持某种类型的标记列表,上面写着“忽略方法X、Y和Z-它们需要复杂”。但我想这可能是危险的,这就是为什么我到目前为止没有向SM的作者推荐这一功能。

并非总是正确的。虽然通常最好使用低LOC,但这并不意味着代码不那么复杂。事实上,通常情况更是如此。为了获得最少的循环次数而优化的代码可能完全不可读,即使是一周后编写它的人

以最近的一个项目为例,想象一下从PNG文件设置单个颜色值(RGBa)。您可以通过多种方法来实现这一点,最紧凑的方法是使用位移位只需1行。与另一种方法相比,这种方法的可读性和可维护性要差得多,例如使用位字段,它需要一个结构定义和更多的行

这还取决于进行LOC计算的工具。它是否只考虑线上的单个符号作为代码(EX:{ }和C风格语言})?这肯定不会让它变得更复杂,但会让它更具可读性


只有我的两分钱。

不一定是真的。虽然通常最好使用低LOC,但这并不意味着代码不那么复杂。事实上,通常情况更是如此。为了获得最少的循环次数而优化的代码可能完全不可读,即使是一周后编写它的人

以最近的一个项目为例,想象一下从PNG文件设置单个颜色值(RGBa)。您可以通过多种方法来实现这一点,最紧凑的方法是使用位移位只需1行。与另一种方法相比,这种方法的可读性和可维护性要差得多,例如使用位字段,它需要一个结构定义和更多的行

这还取决于进行LOC计算的工具。它是否只考虑线上的单个符号作为代码(EX:{ }和C风格语言})?这肯定不会让它变得更复杂,但会让它更具可读性


只要我的两分钱。

我想当LOC降低时,它可以用来奖励团队(假设他们仍在生产有价值的软件和可读代码…。

我想当LOC降低时,它可以用来奖励团队(假设他们仍在生产有价值的软件和可读代码…).

在一个不平凡的项目中,LOC很容易获得并提供合理的信息。我在一个新项目中的第一步总是计算LOC。

LOC很容易在一个不平凡的项目中获得并传递合理的信息。在一个新项目中,我的第一步总是计算LOC。

对不起,忘了提一下:我指的是整个代码库所具有的代码度量的总行数。每个方法或函数的粒度不太细。我更多地将其视为整个软件过程的度量,并意识到并保持整个代码库的代码行尽可能低,有一句话像“美丽不是当没有更多的东西可以添加时,而是当没有什么东西可以带走时”)@Manuel在代码库级别它是毫无意义的-你怎么知道你需要多少LOC或是好的LOC?你不能,你误解我了。我并不想将其视为绝对指标(即,说您需要1K LOC来实现此x功能完全是胡说八道)。我只是将LOC视为一种过程度量,以便更清楚地认识到维护大型系统(高LOC表示)会带来高成本。如今,软件系统的一个大问题是死代码的比例(我从20-60%的代码中读取不同的数字)和死/未使用的特性。通过流程层面的“LOC意识”,我看到了再次战斗的一种方法