Skip to content

ಕೋಡಿಂಗ್ ಮಾರ್ಗಸೂಚಿಗಳು (PEP 8)

ಪೈಥಾನ್ ಕೋಡ್ ಬರೆಯುವಾಗ, ಅದನ್ನು ಸ್ವಚ್ಛವಾಗಿ, ಓದಬಲ್ಲ ರೀತಿಯಲ್ಲಿ, ಮತ್ತು ಸ್ಥಿರವಾಗಿ (consistent) ಇಡುವುದು ಬಹಳ ಮುಖ್ಯ. PEP 8 (Python Enhancement Proposal 8) ಎಂಬುದು ಪೈಥಾನ್ ಕೋಡ್‌ಗಾಗಿ ಅಧಿಕೃತ ಶೈಲಿ ಮಾರ್ಗದರ್ಶಿಯಾಗಿದೆ (style guide). ಇದನ್ನು ಪಾಲಿಸುವುದರಿಂದ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಇತರರು ಸುಲಭವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದು.


PEP 8ರ ಪ್ರಮುಖ ಮಾರ್ಗಸೂಚಿಗಳು

1. ಇಂಡೆಂಟೇಶನ್ (Indentation)

  • ಪ್ರತಿ ಇಂಡೆಂಟೇಶನ್ ಮಟ್ಟಕ್ಕೆ 4 ಸ್ಪೇಸ್‌ಗಳನ್ನು ಬಳಸಿ.
  • ಟ್ಯಾಬ್‌ಗಳನ್ನು ಬಳಸುವುದನ್ನು ಕಟ್ಟುನಿಟ್ಟಾಗಿ ವಿರೋಧಿಸಲಾಗುತ್ತದೆ. ಸ್ಪೇಸ್‌ಗಳು ಹೆಚ್ಚು ಸ್ಥಿರವಾಗಿರುತ್ತವೆ.
# ಸರಿ
def my_function():
    if True:
        print("4 ಸ್ಪೇಸ್‌ಗಳ ಇಂಡೆಂಟ್")

2. ಸಾಲಿನ ಉದ್ದ (Line Length)

  • ಪ್ರತಿ ಸಾಲನ್ನು 79 ಅಕ್ಷರಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸಿ. ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಅಥವಾ ಕಾಮೆಂಟ್‌ಗಳಿಗೆ 72 ಅಕ್ಷರಗಳು.
  • ಉದ್ದವಾದ ಸ್ಟೇಟ್‌ಮೆಂಟ್‌ಗಳನ್ನು ಆವರಣ (), ಬ್ರಾಕೆಟ್ [], ಅಥವಾ ಬ್ರೇಸ್ {} ಬಳಸಿ ಅನೇಕ ಸಾಲುಗಳಾಗಿ ವಿಭಜಿಸಬಹುದು.
# ಸರಿ
def function_with_long_name(var_one, var_two,
                             var_three, var_four):
    print(var_one)

my_list = [
    1, 2, 3,
    4, 5, 6,
]

3. import ಸ್ಟೇಟ್‌ಮೆಂಟ್‌ಗಳು

  • import ಗಳನ್ನು ಯಾವಾಗಲೂ ಫೈಲ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ, ಡಾಕ್ಸ್‌ಸ್ಟ್ರಿಂಗ್‌ಗಳ ನಂತರ ಆದರೆ ಗ್ಲೋಬಲ್ ವೇರಿಯೇಬಲ್‌ಗಳ ಮೊದಲು ಇರಿಸಿ.
  • ಪ್ರತಿ import ಅನ್ನು ಪ್ರತ್ಯೇಕ ಸಾಲಿನಲ್ಲಿ ಬರೆಯಿರಿ.
  • import ಗಳನ್ನು ಈ ಕ್ರಮದಲ್ಲಿ ಗುಂಪು ಮಾಡಿ, ಪ್ರತಿ ಗುಂಪಿನ ನಡುವೆ ಖಾಲಿ ಸಾಲನ್ನು ಬಿಡಿ:
    1. ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ (os, sys)
    2. ಮೂರನೇ-ಪಕ್ಷದ ಲೈಬ್ರರಿಗಳು (requests, pandas)
    3. ಸ್ಥಳೀಯ ಅಪ್ಲಿಕೇಶನ್/ಲೈಬ್ರರಿ (from my_app import models)
  • ಸಂಪೂರ್ಣ (Absolute) ಇಂಪೋರ್ಟ್‌ಗಳನ್ನು ಬಳಸುವುದು ಉತ್ತಮ. (from my_app.utils import helper)

4. ಖಾಲಿ ಸಾಲುಗಳು (Blank Lines)

  • ಟಾಪ್-ಲೆವೆಲ್ ಫಂಕ್ಷನ್‌ಗಳು ಮತ್ತು ಕ್ಲಾಸ್‌ಗಳ ವ್ಯಾಖ್ಯಾನಗಳ ನಡುವೆ ಎರಡು ಖಾಲಿ ಸಾಲುಗಳನ್ನು ಬಿಡಿ.
  • ಕ್ಲಾಸ್‌ನೊಳಗಿನ ಮೆಥಡ್‌ಗಳ ವ್ಯಾಖ್ಯಾನಗಳ ನಡುವೆ ಒಂದು ಖಾಲಿ ಸಾಲನ್ನು ಬಿಡಿ.

5. ವೈಟ್‌ಸ್ಪೇಸ್ (Whitespace)

  • ಆಪರೇಟರ್‌ಗಳ ಸುತ್ತಲೂ (=, +=, ==, <, >) ಮತ್ತು ಅಲ್ಪವಿರಾಮದ ನಂತರ ಸ್ಪೇಸ್ ಬಳಸಿ.
  • ಆವರಣಗಳ ಒಳಗೆ ತಕ್ಷಣವೇ ಸ್ಪೇಸ್ ಬಳಸಬೇಡಿ. print( 'Hello' ) ತಪ್ಪು, print('Hello') ಸರಿ.
# ಸರಿ
x = 1
my_list = [1, 2, 3]

# ತಪ್ಪು
# x=1
# my_list = [ 1, 2, 3 ]

6. ಹೆಸರಿಸುವ ಸಂಪ್ರದಾಯಗಳು (Naming Conventions)

  • ವೇರಿಯೇಬಲ್‌ಗಳು, ಫಂಕ್ಷನ್‌ಗಳು, ಮೆಥಡ್‌ಗಳು: snake_case (ಲೋವರ್‌ಕೇಸ್ ಮತ್ತು ಅಂಡರ್‌ಸ್ಕೋರ್). ಉದಾ: user_name, calculate_age.
  • ಕ್ಲಾಸ್‌ಗಳು: PascalCase (ಅಥವಾ CapWords). ಉದಾ: UserAccount, DatabaseConnection.
  • ಕಾನ್ಸ್ಟಂಟ್‌ಗಳು: ALL_CAPS (ಎಲ್ಲಾ ದೊಡ್ಡಕ್ಷರ). ಉದಾ: MAX_CONNECTIONS, PI.
  • ಮೊಡ್ಯೂಲ್‌ಗಳು: ಚಿಕ್ಕ, snake_case ಹೆಸರುಗಳು.

7. ಕಾಮೆಂಟ್‌ಗಳು (Comments)

  • ಬ್ಲಾಕ್ ಕಾಮೆಂಟ್‌ಗಳು: ಕೋಡ್‌ನ ಒಂದು ವಿಭಾಗವನ್ನು ವಿವರಿಸುತ್ತದೆ ಮತ್ತು ಆ ವಿಭಾಗದಂತೆಯೇ ಅದೇ ಮಟ್ಟದಲ್ಲಿ ಇಂಡೆಂಟ್ ಆಗಿರಬೇಕು.
  • ಇನ್‌ಲೈನ್ ಕಾಮೆಂಟ್‌ಗಳು: ಸ್ಟೇಟ್‌ಮೆಂಟ್‌ನ ಅದೇ ಸಾಲಿನಲ್ಲಿ ಬರುವ ಕಾಮೆಂಟ್‌ಗಳು. ಇವುಗಳನ್ನು ಮಿತವಾಗಿ ಬಳಸಿ.
  • ಕೋಡ್ ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದಕ್ಕಿಂತ, ಏಕೆ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸಿ.
# ಬ್ಲಾಕ್ ಕಾಮೆಂಟ್: ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯುವುದು
users = get_all_users()

x = x + 1  # ಇನ್‌ಲೈನ್ ಕಾಮೆಂಟ್: ಕೌಂಟರ್ ಅನ್ನು ಹೆಚ್ಚಿಸುವುದು

8. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಶಿಫಾರಸುಗಳು

  • None ಅನ್ನು ಹೋಲಿಸಲು == ಬದಲು is ಅಥವಾ is not ಬಳಸಿ. (if my_var is None)
  • ಬೂಲಿಯನ್ ಮೌಲ್ಯಗಳನ್ನು == True ಅಥವಾ == False ನೊಂದಿಗೆ ಹೋಲಿಸಬೇಡಿ.
    # ಸರಿ
    if is_ready:
        ...
    # ತಪ್ಪು
    if is_ready == True:
        ...
    
  • try...except ಬ್ಲಾಕ್‌ನಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ಎಕ್ಸೆಪ್ಷನ್‌ಗಳನ್ನು ಮಾತ್ರ ಹಿಡಿಯಿರಿ. except: ಅನ್ನು ಬಳಸಬೇಡಿ.

ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳು (Linters and Formatters)

PEP 8 ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪಾಲಿಸುವುದು ಕಷ್ಟ. ಅದಕ್ಕಾಗಿ, ನಾವು ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳನ್ನು ಬಳಸಬಹುದು: - Linters (flake8, pylint): ಇವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಿ PEP 8 ಉಲ್ಲಂಘನೆಗಳು ಮತ್ತು ಇತರ ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ವರದಿ ಮಾಡುತ್ತವೆ. - Formatters (black, autopep8, isort): ಇವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ PEP 8 ಶೈಲಿಗೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತವೆ. isort ನಿರ್ದಿಷ್ಟವಾಗಿ import ಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ.

ಈ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಪಾಲಿಸುವುದರಿಂದ, ನಿಮ್ಮ ಪೈಥಾನ್ ಕೋಡ್ ಹೆಚ್ಚು ವೃತ್ತಿಪರ, ನಿರ್ವಹಿಸಬಲ್ಲ, ಮತ್ತು ಸಹಯೋಗಕ್ಕೆ ಸುಲಭವಾಗುತ್ತದೆ.