总文件数
0
+12 本周新增
平均圈复杂度
0
阈值: 10
代码行数
0
Python 代码
优化建议
0
需关注
代码分析器
Python
example.py
def process_user_data(users, config):
"""处理用户数据,包含复杂业务逻辑"""
results = []
errors = []
for user in users:
if user.get('active') and user.get('age') > 18:
if config.get('validate_email'):
if '@' not in user.get('email', ''):
errors.append(f"Invalid email: {user['id']}")
continue
if config.get('premium_only'):
if user.get('tier') != 'premium':
continue
processed = {
'id': user['id'],
'name': user['name'].upper(),
'score': calculate_score(user)
}
if processed['score'] > 100:
processed['bonus'] = True
if user.get('referrals'):
for ref in user['referrals']:
if ref.get('active'):
processed['score'] += ref.get('points', 0) * 1.5
results.append(processed)
return {'results': results, 'errors': errors}
def calculate_score(user):
base = user.get('points', 0)
multiplier = 1.0
if user.get('streak') > 7:
multiplier += 0.5
if user.get('streak') > 30:
multiplier += 1.0
return int(base * multiplier)
复杂度分布
模块依赖关系
代码健康度
75
良好
最近分析
api/routes.py
2分钟前
models/user.py
15分钟前
services/payment.py
1小时前
项目文件概览
| 文件路径 | 函数数量 | 代���行数 | 圈复杂度 | 认知复杂度 | 状态 | 操作 |
|---|
优化效果对比
优化前
复杂度 12
def process_data(data):
result = []
for item in data:
if item:
if item.value > 0:
if item.active:
if item.type == 'A':
result.append(transform_a(item))
elif item.type == 'B':
result.append(transform_b(item))
else:
result.append(transform_default(item))
return result
优化后
复杂度 4
def process_data(data):
"""使用策略模式优化"""
strategies = {
'A': transform_a,
'B': transform_b,
}
return [
strategies.get(item.type, transform_default)(item)
for item in data
if is_valid_item(item)
]
def is_valid_item(item):
return item and item.value > 0 and item.active