虽然LOC(#行代码)是对代码复杂性的有问题的衡量,但它是最受欢迎的,并且在非常仔细地使用时,可以提供对代码库的至少相对复杂性的粗略估计(即,如果一个程序是10KLOC)另一个是100KLOC,用相同的语言编写,由大致相同能力的团队编写,第二个程序几乎肯定要复杂得多).
在计算代码行时,您是否更愿意计算注释?测试怎么样?
我见过各种方法.像cloc和sloccount这样的工具允许包含或排除注释.其他人认为评论是代码的一部分及其复杂性.
单元测试存在同样的困境,有时可以达到测试代码本身的大小,甚至超过它.
我已经看到了整个范围内的方法,从仅计算"操作"非注释非空白行到"XXX行测试,注释代码",这更像是在所有代码文件中运行"wc -l"项目".
您的个人偏好是什么?为什么?
我需要一个免费工具来计算Java项目上的SLOC.我只需要以下指标:
奖金:
我有另一个问题,我希望有人可以帮助我.
我正在使用Jensen-Shannon-Divergence来测量两个概率分布之间的相似性.相似性得分似乎是正确的,因为它们在1和0之间,假设一个使用基数2对数,0表示分布相等.
但是,我不确定某个地方是否确实存在错误,并且想知道某人是否可以说"是的,这是正确的"或"不,你做错了什么".
这是代码:
from numpy import zeros, array
from math import sqrt, log
class JSD(object):
def __init__(self):
self.log2 = log(2)
def KL_divergence(self, p, q):
""" Compute KL divergence of two vectors, K(p || q)."""
return sum(p[x] * log((p[x]) / (q[x])) for x in range(len(p)) if p[x] != 0.0 or p[x] != 0)
def Jensen_Shannon_divergence(self, p, q):
""" Returns the Jensen-Shannon divergence. """
self.JSD = 0.0
weight = 0.5
average = zeros(len(p)) #Average
for x in range(len(p)):
average[x] = weight …Run Code Online (Sandbox Code Playgroud) 我想监控集群中持久卷的磁盘使用情况。我正在使用CoreOS Kube Prometheus。仪表板正在尝试使用名为kubelet_volume_stats_capacity_bytes的指标进行查询,该指标从 v1.12 开始的 Kubernetes 版本不再可用。
我正在使用 Kubernetes 版本 v1.13.4 和hostpath-provisioner根据持久卷声明来配置卷。我想访问每个持久卷的当前磁盘使用指标。
kube_persistentvolumeclaim_resource_requests_storage_bytes可用,但它仅以字节为单位显示持久声明请求
container_fs_usage_bytes没有完全涵盖我的问题。
metrics kubernetes prometheus persistent-volumes kubernetes-pvc
我正在使用php undercontrol和代码浏览器报告每个setter/getter上的一些CRAP索引错误,即这样的代码
public function getFoo()
{
return $this->_foo;
}
Run Code Online (Sandbox Code Playgroud)
getter/setter由单元测试覆盖,复杂性为none,因为没有if/for/switch/foreach.那么为什么我得到该代码的CRAP索引为1?
PS:自我回答可能是因为复杂性没有,但我的主要问题是每个getter/setter因为CRAP索引而生成警告所以无论如何都要告诉phpunit/php代码覆盖率使CRAP等于0表示功能具有0复杂度指数.
我一直在努力记录当前项目的所有Storm指标的含义.
在此过程中,我从该组响应以及github收集了数据.
虽然有些指标非常自我解释,但我对一些螺栓指标感到困惑.
例如,Process Latency和Execute Latency之间有什么区别?
通过此Google论坛上的帖子,我收集了以下信息:
列表项处理延迟=调用ack时的时间戳 - 执行传递元组时的时间戳
列表项执行延迟=执行函数结束时的时间戳 - 执行传递时的时间戳元组(来源:http://goo.gl/3KRAl)
和
根据我在风暴用户界面中看到的内容,我的执行延迟几乎总是大于进程延迟.怎么会这样?任何人都可以帮我确定两种延迟的确切定义吗?
提前致谢!
prometheus 指标中=~运算符的含义是什么?
任何人都可以帮助我 = 和 =~ 运算符之间的确切区别是什么?
对于前.
process_cpu_seconds_total{instance="test"}
process_cpu_seconds_total{instance=~"test"}
Run Code Online (Sandbox Code Playgroud)
结果不同。
其潜在员工要求其中一家公司使用某种编程语言(如Java或C#)提供一生中编写的代码行数.因为,我们大多数人在多种语言的不同项目中都有多年的经验,我们很难记录这一点,这是计算这些指标的最佳方法.我相信stackoverlow.com的聪明人会有一些想法.
这是一个在其领域非常受尊敬的公司,我相信他们有一个很好的理由提出这个问题.但令人难以回答的是需要考虑的代码类型.我应该只包括我实现的难度算法或我为其编写的任何代码,例如具有300个属性且其getter/setter是使用IDE生成的POJO!
我希望能够从我的应用程序动态公开各种基于时间和计数的指标.Perf4j可以很好地适应时间,但不允许以我所知道的简单方式进行计数.
比如我能做到
StopWatch dbWriteTime = new Log4JStopWatch("ServiceName:DBWrite");
dbWriteTime.start();
... execute DB stuff here
dbWriteTime.stop();
Run Code Online (Sandbox Code Playgroud)
并且您可以将这些指标设置为以任何时间间隔记录,并且它可以很好地完成.但有时候我想做点什么
Metric metric = new Metric("ServiceName:OrdersPerRequest");
metric.put(50);
Run Code Online (Sandbox Code Playgroud)
我可以将perf4j计时器lib调用50次,但这是一个非常糟糕且效率低下的黑客,可以在日志中获取我的指标.有谁知道一个好的开源库可以做两种类型的指标?此外,如果它可以监视输出指标日志并将它们转储到一个很好的集中式数据库.另外,如果您知道一个好的开源Web前端来绘制图形并显示这种数据,我会对此非常感兴趣.看来这一定是很多人以前需要的东西.
我刚刚为Eclipse安装了一个插件,但结果Eclipse将不再启动.它说"有一个错误"或一些这样无意义的消息.
如何在没有加载插件的情况下启动Eclipse,以便我可以实际卸载有问题的软件?
metrics ×10
java ×2
prometheus ×2
.net ×1
apache-storm ×1
code-metrics ×1
distance ×1
eclipse ×1
kubernetes ×1
monitoring ×1
performance ×1
php ×1
phpunit ×1
plugins ×1
python ×1
real-time ×1
startup ×1