我知道Code Climate,这确实很棒,但仅适用于GitHub上托管的存储库。
PyLint能够检测重复的代码块,但前提是它们位于不同的文件中,并且代码必须完全相同。因此,以下代码块不算作重复代码:
def foo(self):
a = 1
b = 2
c = 3
d = 4
return a + b + c + d
def foo(self):
e = 1
f = 2
g = 3
h = 4
return e + f + g + h
除了Code Climate,还有没有能够检测类似代码的工具?用类似的代码表示,这些代码最终执行相同的操作,但不一定彼此复制粘贴。