-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathanalyzer.py
More file actions
26 lines (20 loc) · 814 Bytes
/
analyzer.py
File metadata and controls
26 lines (20 loc) · 814 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import re
def analyze_code(code: str):
issues = []
# Rule 1: Detect debug print statements
if "print(" in code:
issues.append("Debug print statement detected")
# Rule 2: Detect TODO comments
if "TODO" in code:
issues.append("TODO comment found in code")
# Rule 3: Detect long lines (> 80 characters)
lines = code.split("\n")
for i, line in enumerate(lines, start=1):
if len(line) > 80:
issues.append(f"Line {i} exceeds recommended length (80 characters)")
# Rule 4: Detect unused imports (basic check)
imports = re.findall(r'import (\w+)', code)
for imp in imports:
if imp not in code.replace(f"import {imp}", ""):
issues.append(f"Potential unused import: {imp}")
return issues