python-3.x - 为什么在 python 中编码气候复杂性问题
问题描述
我已经编写了这段代码并且代码气候显示:Function _filter_empty_entities has a Cognitive Complexity of 7 (exceeds 5 allowed)
def _filter_empty_entities(payload):
attrs = list(iter_entity_attrs(payload))
Flag = False
for j in attrs:
if isinstance(value, int) and value is not None:
Flag = True
elif value:
Flag = True
if Flag:
return payload
else:
return None
有什么帮助吗?谢谢
解决方案
认知复杂性是:
衡量一个代码单元直观理解的难易程度
几乎 Code Climate 认为代码难以理解和测试。
尝试将您的功能分解为更小的部分,并检查可能存在冗余的逻辑。检查您何时中断逻辑流程(例如,嵌套中的插件if
,elsif
)。
推荐阅读
- typescript - 为什么打字稿中的“只读”属性不起作用?
- html - 带有渐变边框的 CSS 圆角
- flutter - 在 Flutter 应用上播放带有广告的 YouTube 视频
- html - 如何调整导航栏固定元素的宽度
- javascript - 按下待办事项的取消按钮时,它会删除以下所有待办事项,这是我的待办事项的代码
- powershell - 如何在 PowerShell 脚本中将包含空格的参数传递给 Azure CLI 命令
- matplotlib - 绘制几个数字,每个数字都有子图
- dictionary - 重现“致命错误:并发映射读取和映射写入”
- reactjs - 当使用 TypeScript 编译器 API 的类型检查器遇到它们时,React 类型默认为 `any`
- java - Selenium |Maven |失败跟踪|Java.lang.NullpointerException| 第一个测试用例通过后