לדלג לתוכן

9.1 שמות וקונבנציות הרצאה

שמות

  • איך אנחנו מחליטים על שמות טובים בתכנות?

כל משתנה, פונקציה, מחלקה או מודול צריך לקבל שם עם משמעות:
- שם לא טוב:

class MyClass:
    def the_thing(x):
        return x*x*3.14

- שם טוב:
class Calculator:
    def get_circle_area(radius):
        return radius*radius*3.14

קונבציות שמות בפייתון:
- בפיייתון אנחנו משתמשים בקונבציית "נחש" (snake_case) בשביל משתנים, פונקציות ומודולים

this_is_variable = 5
def this_is_function():
    pass

- בפייתון אנחנו משתמשים בקונבציית "גמל" (CamelCase) בשביל מחלקות
class ThisIsClass:
    pass
class ThisIsAnotherClass:
    pass

טיפים בשביל בחירת שם:
- תבחר שם שאפשר לבטא בקלות:

# Bad
edasdfasd = 1;  

# Good
number_of_students = 1;

- תבחר שם שאפשר לחפש, אל תכתוב שמות עם אות אחת.
# Bad
s = 0
for i in range(10):
    s += i

# Good
sum = 0
for number in range(10):
    sum += number

  • בכללי נסו להימנע מכתיבת שמות קצרים מאוד - דוגמה: "hp" - מה זה אומר? האם זה "health points", האם זה "hit point" או שזה בכלל "Hewlett-Packard"?

  • מצד שני, אל תעשו שמות ארוכים מדיי, youtube_videos_recommandation_algorithem זה שם מסובך מדיי

  • תבחרו מילה אחת ותשתמשו רק בה - למילים get, retrive, ו - fetch יש משמעות דומה, בקוד שלכם אין סיבה שתשמשו בכמה מילים כאלה, תבחרו אחת.

  • אל תשתמשו בשם כללי מדי כמו number, איזה סוג מספר? מה המספר הזה מסמל? הוא לא סתם מספר.

  • אל תהיו חמודים: אל תוסיפו בדיחות וסלנגים לשמות.

    # Bad
    my_secret = "hello"
    show_my_lovers(my_secret)
    
    # Good
    message = "hello"
    print_line(message)
    

הערות

  • איך נכתוב הערות טובות בקוד שלנו?
  • כלל חשוב: הערות לא מחליפות קוד לא קריא, כתבו קוד מספיק קריא שלא מצריך הערה.
  • אל תשימו קוד בהערה, זה אף פעם לא טוב
  • אל תכתבו הערות בלי משמעות רק כדי לכתוב הערות, אם יש לכם פונקציית init שלא עושה כלום, אין סיבה לתת לה הערה.