相关疑难解决方法(0)

您维护的任何功能的最高Cyclomatic复杂度是多少?你将如何重构呢?

我正在对我维护的遗留系统进行一些探索,前几天使用NDepend(很棒的工具检查出来).我的发现几乎让我在屏幕上喷了一口咖啡.该系统中按行圈复杂度递减排名的前3个函数是:

  1. SomeAspNetGridControl.CreateChildControls(CC为171 !!!)
  2. SomeFormControl.AddForm(CC为94)
  3. SomeSearchControl.SplitCriteria(CC为85)

我的意思是171,哇!不应该低于20或什么?所以这让我很奇怪.您维护或重构的最复杂功能是什么?你将如何重构这样的方法?

注意:我测量的CC是在代码上,而不是IL.

refactoring cyclomatic-complexity

14
推荐指数
1
解决办法
9924
查看次数

Python:代码统计

你知道是否有一个Python库可以生成有关代码的统计信息吗?我正在考虑指向一个包并获取类,函数,方法,docblock行等的数量.

它最终可能包括像lambdas或其他疯狂统计数字这样无用的东西,只是为了好玩.

python code-metrics

11
推荐指数
2
解决办法
4604
查看次数

编码时如何阻止自己覆盖Python函数?

在追踪我的Python代码中的错误时,一个持续头痛的根源似乎是无关紧要的片段,如下所示:

 list = ['a', 'b', 'c', 'c']
 list(set(list))
Run Code Online (Sandbox Code Playgroud)

这失败了,因为我用变量列表覆盖了函数list().

显然是一个人为的例子,但关键是Python很高兴让我用变量覆盖内置函数.我意识到这是Python中的一个重要特性,但如果我在代码中执行此操作时解释器会警告我,我会非常喜欢它,因为我通常不打算这样做.

任何人都可以建议一个解决方案(除了更加小心) - 因为我一直在绊倒这个问题?

python function built-in

6
推荐指数
2
解决办法
1280
查看次数