总文件数
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分钟前
复杂度 8
models/user.py
15分钟前
复杂度 3
services/payment.py
1小时前
复杂度 15

项目文件概览

文件路径 函数数量 代���行数 圈复杂度 认知复杂度 状态 操作

优化效果对比

优化前 复杂度 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