File size: 1,053 Bytes
134310e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# code_improver.py
import ast

def validate_python_syntax(code: str) -> tuple:
    """التحقق من صحة كود بايثون بدون تنفيذه"""
    try:
        ast.parse(code)
        return True, "الكود سليم بناءً."
    except SyntaxError as e:
        return False, f"خطأ نحوي: {e.msg} في السطر {e.lineno}"

def suggest_improvements(code: str) -> str:
    """اقتراح تحسينات على الكود (بسيطة)"""
    suggestions = []
    if "except:" in code and "except Exception" not in code:
        suggestions.append("- استخدم `except Exception as e:` بدلاً من `except:` لالتقاط الأخطاء بشكل صريح.")
    if "print(" in code:
        suggestions.append("- لاحظ أن `print` قد لا يعمل في بعض البيئات السحابية، استخدم `return` للقيم.")
    if not suggestions:
        suggestions.append("- الكود يبدو جيداً، يمكن إضافة تعليقات لتوضيح المنطق.")
    return "\n".join(suggestions)