长期方法在某些方面是邪恶的:
如何说服你的开发人员编写简短的方法?(武器被禁止=)
来自agiledeveloper的问题
最近我有一些关于软件开发指标的有趣对话,特别是它们如何在一个相当大的组织中使用,以帮助开发团队更好地工作.我知道有一些关于哪些指标可以使用的Stack Overflow问题 - 比如这个,但我的问题更多的是关于哪些指标对哪些利益相关者有用,以及在什么级别的聚合.
作为一个例子,我的观点是代码覆盖率在以下方面(也可能是其他方式)是一个有用的指标:
但我不认为高级管理层在逐个团队的基础上看到这一点是有用的,因为这鼓励人为尝试通过仅运用而不是测试代码的测试来支持覆盖.
我在一个管理层次结构中有几个级别的组织中,但绝大多数管理人员都具有技术头脑和能力(许多人仍然沾沾自喜).一些开发团队在推动敏捷开发实践方面处于领先地位,但其他开发团队则落后,现在有一个严格的要求从最高层开始,以便组织的工作方式.我们中的一些人正在启动一项计划来鼓励这一点.在这种组织中,您认为哪种指标有用,对谁,为什么以及在什么级别的聚合?
我不希望人们根据他们可以人为影响的指标来评估他们的表现.与此同时,高级管理层将需要某种证据证明正在取得进展.根据您自己组织的经验,您可以提供哪些建议或警告?
编辑
我们绝对希望将指标用作组织改进的工具,而不是作为个人绩效评估的工具.
我正在寻找一些衡量软件开发团队绩效的方法.使用构建工具是个好主意吗?我们使用Hudson作为自动构建工具.我想知道我是否可以从Hudson报告中获取信息,并从中获取每个程序员的进度.
我想跟踪可用于改进团队软件开发过程,改进时间估算以及检测项目执行期间需要解决的特殊情况变化的指标.
请将每个答案限制为一个指标,描述如何使用它,并投票给好的答案.
我使用Netbeans在PHP中编写了一段时间,但它没有提供任何获取代码指标的工具.我之前也使用过SourceMonitor,但它不支持PHP,与Code Analyzer相同.
有没有人使用过,可以推荐任何从PHP代码获取代码指标的工具?
我正在将Mixpanel添加到我的Web应用程序中,并且我很好奇当用户从"匿名"(未登录/注册)转换为"已识别"(当他们注册/创建帐户时)发生的情况的"过程"网站).
如果用户进入并且是该站点的新用户,则会获得匿名UUID(根据文档).该文档还说,Mixpanel目前无法在ID之间进行转换.
这是否意味着Mixpanel无法处理未注册用户向注册用户的转换,并在他们成为注册/识别用户之前跟踪他们的事件?
如果是这样,有没有人有解决这个问题的经验?你怎么样的?
我通过rails gem上的ruby使用FnordMetric Classic,如Railscasts#378所示.fnordmetric
我想有一个我的"热门页面"列表,其中页面是我的网络应用程序的一种内容.
无论使用的版本,在生产和开发中,我所谓的toplist仪表的内容都在不断消失.
这可以在下面的屏幕截图中看到,其中"热门页面Toplist Gauge" 的列表" Top Keys "是空的,其中应该填充最多访问的页面.

这是创建此规范的源代码的相关部分:
# script/fnordmetric_app.rb
require 'fnordmetric'
FnordMetric.namespace :my_web_app do
toplist_gauge :popular_pages, title: "Popular Pages"
event :show_page do
observe :popular_pages, data[:title]
end
# ...
end
FnordMetric::Web.new(port: 4242, use: middleware)
FnordMetric::Worker.new
FnordMetric.run
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?
据说语句覆盖确保代码中的每个语句至少执行一次.据说
决策/分支覆盖测试是测试决策的每个分支/输出,即将执行假/真分支中的所有语句.
但是不一样吗?在Statement覆盖中我需要执行所有语句,所以我想它只能通过运行所有可能的方式来完成.我知道我在这里遗失了一些东西..
为了给出上下文,我们尝试基于Yammer度量信息实现报告功能.
Yammer指标提供有关计时器和仪表的信息,如下所示,
METER_METRIC:
count = 1
mean rate = 0.01 count/s
1-minute rate = 0.00 count/s
5-minute rate = 0.00 count/s
15-minute rate = 0.00 count/s
TIMER_METRIC:
count = 1
mean rate = 0.01 calls/s
1-minute rate = 0.01 calls/s
5-minute rate = 0.00 calls/s
15-minute rate = 0.00 calls/s
min = 89.77ms
max = 89.77ms
mean = 89.77ms
stddev = 0.00ms
median = 89.77ms
75% <= 89.77ms
95% <= 89.77ms
98% <= 89.77ms
99% <= 89.77ms
99.9% <= 89.77ms …Run Code Online (Sandbox Code Playgroud) 每个文件的代码行,每个类的方法,圈复杂度等.开发人员抵制并解决大多数(如果不是全部的话)!有一篇很好的Joel文章(没时间找到它).
您建议使用哪些代码指标来自动识别"糟糕的代码"?
什么可以说服大多数(你不能说服我们所有人一些糟糕的指标!:O))开发人员认为这个代码是"废话".
只有可自动测量的指标才算重要!
metrics ×10
automation ×1
cookies ×1
java ×1
javascript ×1
mixpanel ×1
php ×1
process ×1
tracking ×1
yammer ×1