Loading...
Loading...
Analyze Python code for style improvements including naming, structure, nesting, and cognitive load reduction
npx skill4agent add olshansk/agent-skills cmd-python-stylizer@dataclasstyping.NamedTupledatatempresultx# Before
def process(data, type, config, user_id, db):
if type == "a":
if config["enabled"]:
# Process type A
result = []
for item in data:
if item["valid"]:
x = db.get(item["id"])
if x:
result.append(x)
return resultxdataresult"a"# After
from dataclasses import dataclass
from typing import List
@dataclass
class ProcessConfig:
enabled: bool
process_type: str
@dataclass
class Item:
id: str
valid: bool
def process_items(
items: List[Item],
config: ProcessConfig,
user_id: str,
db: Database
) -> List[Entity]:
if not _should_process(config):
return []
valid_items = _filter_valid_items(items)
return _fetch_entities_from_db(valid_items, db)
def _should_process(config: ProcessConfig) -> bool:
return config.process_type == "a" and config.enabled
def _filter_valid_items(items: List[Item]) -> List[Item]:
return [item for item in items if item.valid]
def _fetch_entities_from_db(items: List[Item], db: Database) -> List[Entity]:
entities = []
for item in items:
entity = db.get(item.id)
if entity:
entities.append(entity)
return entities_