User:Ninjailbreak/Python Conventions
קונבנציות פייתון
editהקדמה
editהקונבציות בפייתון כוללות שני סוגים של קונבנציות
1. הקונבנציות הכלליות של קוד נכון
2. הקונבציות של פייתון
קונבנציות קוד נכון
edit1.0. יש לחלק לבלוקים של קוד בצורה מסודרת.
1.1. יש להפריד בשתי שורות רווח בין פונקציות שונות.
1.2. יש להימנע משימוש בגלובאלים כאשר אין צורך פרקטי בדבר.
1.3. יש לרווח בין פעולות בינאריות (כלומר בעלות שני אופרנדים).
1.4. אין להשאיר מספרים שרירותיים בקוד. (לדוגמה אין לכתוב את המספר 97 באמצע הקוד כהתייחסות לערך ה-ascii של a) יש להשתמש בקבוע במקום.
קונבנציות פייתון
edit2.0. כל קוד פייתון יתועד בקונבנציית Sphinx
2.1. בהינתן שימוש בפייתון 3, יש צורך לבצע type annotations לפרמטרי הפונקציות ולערך החזרה.
2.2. יש לבצע שימוש בטאבים בלבד בהגשת הקוד.
2.3. סדר ה-import-ים יהיה מהקצר לארוך על פי קונבנציית PEP8.
2.4. אין לשים שורה רווח בין תיעוד המודול לשורות ה-import-ים.
2.5. במידה ואין import-ים יש לרווח בשורה אחת.
2.6. שמות משתנים ופונקציות יהיו בפורמט snake_case.
2.7. שמות מחלקות יהיו בפורמט PascalCase.
2.8. קבועים יהיו בפורמט UPPER_CASE, ויוגדרו בראש הקוד תחת ה-import-ים.
2.9. משתנה גלובאלי יתחיל בתחילית g_ על מנת לציין כי זהו משתנה גלובאלי.
2.10. בכל קוד פייתון תהיה פונקציית main שתבדוק את תפקוד המודול.
2.11. פונקציית ה-main תקרא לאחר בדיקת סטייט ההרצה של הקוד(__name__).
"""Calculator module versions --------- version 2 by ninjailbreak, 05.04.2020 version 1 by ninjailbreak, 04.04.2020 """ # <------ Space after module doc BIAS = 0.326 # <------ Constants in UPPER_CASE g_sum_call_times = 0 # <------ Globals starts with g_. def sum(a: int, b: int) -> int: # <------ Type annotations for params and ret-val. """Calculate the sum of two numbers and update g_sum_call_times. :param a: The first number. :type a: int :param b: The second number. :type b: int :return: The sum of the numbers. :rtype: int """ global g_sum_call_times g_sum_call_times += 1 # <------ Space between different code blocks return c = a + b # <------ Spacing on operator sides # <------ Double space between functions # <------ Double space between functions def main(): a = int(input("Enter the first number: ")) b = int(input("Enter the second number: ")) print(f"The sum of the numbers is: {sum(a, b)}") if __name__ == "__main__": # <------ Check running state main()