Questions tagged «metrics»

与软件和软件开发过程有关的可度量特征/属性,以及与度量有关的任何事物。对于时间和空间的复杂性,请使用标签big-O。对于其他更具体的度量问题,请使用标签复杂度,或者在适当的情况下使用环复杂度。

4
用于事件日志指标的数据体系结构?
我的服务具有大量正在进行的用户事件,因此我们想做一些事情,例如“ 从日期D开始计数事件类型T的发生”。 我们正在尝试做出两个基本决定: 存储什么?存储每个事件与仅存储聚合 (事件日志样式)记录每个事件并在以后对它们进行计数。 (时间序列样式)每天存储一个汇总的“ 日期D的事件E数” 数据存储在哪里 在关系数据库(尤其是MySQL)中 在非关系(NoSQL)数据库中 在平面日志文件中(通过,通过网络集中收集syslog-ng) 什么是标准做法?在哪里可以找到有关比较不同类型系统的更多信息? 额外细节: 事件流总数很大,每天可能有数十万个条目 但是我们目前的需求只是计算其中的某些类型的事件 我们不一定需要实时访问原始数据或聚合结果 恕我直言,“将所有事件记录到文件中,稍后对其进行爬网以过滤和聚合流”是一种非常标准的UNIX方式,但是我的Rails-y同胞似乎认为除非在MySQL中,否则什么都不是真实的。

8
我如何每天跟踪编程效率?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 与前几天相比,我如何跟踪自己正在开发软件的效率更高或更低?

9
您如何在配对编程环境中展示性能?
最近我的工作中进行了绩效评估,我的职位很有趣。我们的团队进行了大量的结对编程,这倾向于平均化团队成员之间的技能差异(尤其是考虑到轮换对)。通常,在进行绩效评估时,您会回顾已完成的工作,并展示您已完成的工作以及如何超出期望以协商加薪或其他收益。 您如何在这样的环境中展示(甚至衡量)个人表现?

3
Halstead复杂度度量的应用程序是否有任何工作可用来确定软件质量?
1977年,莫里斯·霍华德·霍尔斯特德(Maurice Howard Halstead)推出了他的软件系统复杂性度量标准,其中包括对程序词汇量,程序长度,数量,难度,工作量以及模块中错误数量的估计。根据Wikipedia所说,困难与阅读或编写程序时理解程序的难度有关,可以将精力转化为​​编写应用程序所需的时间,其中Time =(Effort / 18)seconds。 除非数据和计算与软件开发的某些方面有关,否则测量是没有用的。但是,我还没有发现任何能够说明某个值或更高难度的缺陷会导致统计上的缺陷增加或难度与读取代码的时间之间的关系的工作(N的难度平均产生M个小时的花费)理解代码库)或在确定质量有用的事实之后进行任何能够计算时间的分析(尤其是因为应该将写入时间记录为度量)。我对Halstead的错误估计(维基百科上没有提及)特别感兴趣-应用程序中的错误数量可以通过Volume / 3000或Effort ^(2/3)/ 3000进行估计。 我在寻找两件事: 是否有人在实际应用中使用Halstead的软件复杂性度量来评估软件质量?如果是这样,您如何应用它们,结果证明它们是有用,有效和/或可靠的度量? 是否有任何调查,分析或案例研究形式的学术研究,讨论了Halstead复杂性度量应用于软件质量时的有效性(或无效性)? 是否有任何调查,分析或案例研究形式的学术研究证明使用代码源代码行(SLOC)来计算类似于量,难度,工作量,时间和错误的Halstead度量标准?我怀疑“体积”可能仅对应于SLOC计数,“难度”可能对应于圈复杂度(可能还有其他度量)。我也很清楚,在SLOC中衡量工作量,生产率或时间可能会产生误导。

2
如何确定代码审查过程的有效性?
我们已经在组织内部引入了代码审查流程,并且看起来运行良好。但是,我希望能够随着时间的推移来衡量该过程的有效性,即我们是不是因为代码干净而没有发现bug,还是人们只是没有发现bug? 当前,我们没有有效的全自动测试过程。我们主要采用手动测试,因此我们不能依靠现阶段发现的缺陷来确保代码审查过程正常进行。 是否有人之前曾遇到过此问题,或对衡量代码审查的效果如何有任何想法?

5
我应该负责多少代码?
通过同事和离开面试,我听说在我的小公司中,我“负责”的代码比我在另一份工作中要多3到10倍。我正在尝试寻找某种模糊指标,可以用来比较我的工作量与该领域的其他人。 所谓“代码责任”,并不是说“我是唯一知道代码库X区域的人”(尽管可悲的是,在启动环境中通常是这样),而是指的是“ code_base_size”这样的数字。 / number_of_developers”。 除了计数代码行之外,还有什么资源可以用来帮助我更准确地衡量工作量?
13 metrics 

2
多次调用相同方法时的圈复杂度
多亏了Code Review的一个问题,我对以下代码的确切复杂度有一点分歧(这本质上是一个学习的机会)。 public static void main(String[] args) { try { thro(); thro(); thro(); thro(); thro(); thro(); thro(); } catch (NullPointerException e) { } } private static Random random = new Random(); public static void thro() throws NullPointerException { if (random.nextBoolean()) throw new NullPointerException(); System.out.println("No crash this time"); } 在Eclipse中使用Eclipse指标插件编写此代码时,它告诉我main方法的McCabe Cyclomatic …

7
分配给项目的人员数量与缺陷数量之间确实存在关系吗?
这是一本关于SLIM和软件评估的培训手册的引文: 还要注意,工作量和缺陷之间存在关联。这意味着,给定规模的项目分配给的人越多,缺陷就会越多。 工作量是项目的人事时间(人年,人月)。缺陷数是在生命周期中任何时候检测到的缺陷数。大小定义为组成项目的用例,功能点或SLOC。 假定过程良好且有能力的工程师,这似乎违反直觉。例如,拥有更多的人意味着更多地关注所有工件(需求规格,设计,代码,测试)。除了拥有更多的眼睛之外,我的直觉还表明,在使用适当质量技术的项目中,努力与缺陷之间几乎没有关系。 除了关于Putnam模型的文件(SLIM使用该文件)之外,我找不到任何文档,这些文档表明缺陷与工作量或缺陷与项目人数之间的任何已知关系。这是已知的关系吗?“更多的人=更多的缺陷”这一说法是否成立?

7
软件质量的客观指标[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 在软件产品中可以测量各种类型的质量,例如,目的(例如最终用途)的适用性,可维护性,效率。其中一些在某种程度上是主观的或特定于领域的(例如,良好的GUI设计原则可能因文化而异,或取决于使用情况,请考虑军事还是消费者使用)。 我感兴趣的是与类型的网络(或图形)及其相互关联性的更深层次的质量形式,也就是说,每种类型所指的是什么类型,是否存在与适当类型有关的清晰可识别的互连性集群。分层体系结构,或者相反,存在大量的类型引用“整体”(“整体”代码)。同样,每种类型和/或方法的大小(例如,以Java字节代码或.Net IL的数量来衡量)也应表明某些大型复杂算法已实现为单片代码块,而不是分解为更易于管理/维护的位置。大块。 基于这种思想的分析可能能够计算至少是质量代理的度量。我怀疑高质量和低质量之间的确切阈值/决策点是主观的,例如,由于可维护性是指人类程序员的可维护性,因此功能分解必须与人的思维方式兼容。因此,我想知道是否存在一个数学上纯净的软件质量定义,可以在所有可能的情况下超越所有可能的软件。 我还想知道这是否是一个危险的想法,即如果客观的质量代理变得流行,那么业务压力将导致开发人员以牺牲整体质量(质量的那些方面未由代理衡量)为代价来追求这些指标。 关于质量的另一种思考方法是从熵的角度。熵是系统从有序状态转变为无序状态的趋势。任何曾经在现实世界中,中型到大型软件项目中工作过的人都将欣赏代码库质量趋于随时间下降的程度。业务压力通常会导致针对新功能的更改(除非质量本身是主要卖点,例如在航空电子软件中),否则质量会因回归问题和“擦鞋”功能而变得不那么适合质量和维护的角度。那么,我们可以衡量软件的熵吗?如果是这样,怎么办?

5
什么是衡量测试/测试人员效率的好方法?
我即将参加与管理层的讨论,以衡量我们作为质量保证组织的测试效率。这背后的主要原因是我们的团队有一半被外包出去了,我们的业务想提供一些关于我们效率/效率的指标,以便我们有基础数据可用来与承包商的服务协议进行合同参数谈判。 我已经提出了一些建议,并且我在该主题上发现的大多数意见都围绕着开发人员的效率:代码行,交付的故事点,引入的缺陷等。 但是测试人员呢?我们的测试主要是基于需求的,并且混合了手动,半自动和自动测试(不是因为我们还没有自动完成所有工作,而是因为某些事情在我们的测试系统中无法实现自动化)。

3
我如何估算一个开源项目的价值?
我正在尝试为公司节省成本的目标制定指标。为此,我想估计通过使用开源Web应用程序而不是从头开始构建或购买COTS解决方案所实现的节省。该过程的第一步是估算我们自己开发应用程序将花费多少。不幸的是,我不知道如何通过一个完整的估算过程来做到这一点。 由于我拥有源代码,因此我认为应该进行一些启发,以粗略估算出编写它所需的开发人员时间。不幸的是,我在该主题上的网络搜索大部分是关于代码行如何不是生产力或质量的良好指标的文章和意见。 到目前为止,我最好的解决方案是选择开发人员一天可以写的行,然后从那里算出开发人员的小时数。如果我采用这种方法,我希望有一些(最好是基于研究的)证据来支持我对开发人员生产力的主张。 我要做的一件事就是生成最终指标,我真正需要的只是降低开发人员的工作时间或项目成本。估算值越高,我的指标就越好,但是我宁愿估算技术无可比拟,而不是拥有很高的数值。 有没有更好的方法来估算开源项目的价值?

2
软件是否应该有一个“数据卫生”索引,以表明程序的清洁程度?不留下临时文件等
软件是否应该有一个“数据卫生”索引,以表明程序的清洁程度?不创建未使用的临时文件,注册表项,环境变量等。 例如,在Windows中的“用户”文件夹中查看,您将看到应用程序使用的所有工作空间文件。 例如,这使得很难知道什么需要备份以及什么可以在机器生成时丢弃。

2
在当今行业中,衡量软件项目指标是否流行?
我遇到了一个开发人员,该开发人员需要有关其团队项目的一些外部建议。我发现他们正在为公司高管,项目经理和开发人员开发一套巨大的软件套件,这些套件可以自动计算指标并为每次迭代绘制图形。 作为计算机科学背景的学生,我对指标及其重要性了解甚少,但我的问题是: 大多数公司是否有某种方法来衡量有意义的指标? 哪些指标(单个或组合)可帮助您缩小项目范围和估算范围? 作为分析指标的人,您多久根据指标制定一次决策?IE浏览器 每周测试失败的人数急剧增加吗? 您是否认为引入学习指标有助于您更好地了解项目? 不知道为什么,但是开发人员项目吸引了我,我必须了解更多。如果是
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.