ಕೋಡಿಂಗ್ ಮಾರ್ಗಸೂಚಿಗಳು (PEP 8)
ಪೈಥಾನ್ ಕೋಡ್ ಬರೆಯುವಾಗ, ಅದನ್ನು ಸ್ವಚ್ಛವಾಗಿ, ಓದಬಲ್ಲ ರೀತಿಯಲ್ಲಿ, ಮತ್ತು ಸ್ಥಿರವಾಗಿ (consistent) ಇಡುವುದು ಬಹಳ ಮುಖ್ಯ. PEP 8 (Python Enhancement Proposal 8) ಎಂಬುದು ಪೈಥಾನ್ ಕೋಡ್ಗಾಗಿ ಅಧಿಕೃತ ಶೈಲಿ ಮಾರ್ಗದರ್ಶಿಯಾಗಿದೆ (style guide). ಇದನ್ನು ಪಾಲಿಸುವುದರಿಂದ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಇತರರು ಸುಲಭವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದು.
PEP 8ರ ಪ್ರಮುಖ ಮಾರ್ಗಸೂಚಿಗಳು
1. ಇಂಡೆಂಟೇಶನ್ (Indentation)
- ಪ್ರತಿ ಇಂಡೆಂಟೇಶನ್ ಮಟ್ಟಕ್ಕೆ 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ಗಳನ್ನು ಈ ಕ್ರಮದಲ್ಲಿ ಗುಂಪು ಮಾಡಿ, ಪ್ರತಿ ಗುಂಪಿನ ನಡುವೆ ಖಾಲಿ ಸಾಲನ್ನು ಬಿಡಿ:- ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ (
os,sys) - ಮೂರನೇ-ಪಕ್ಷದ ಲೈಬ್ರರಿಗಳು (
requests,pandas) - ಸ್ಥಳೀಯ ಅಪ್ಲಿಕೇಶನ್/ಲೈಬ್ರರಿ (
from my_app import models)
- ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ (
- ಸಂಪೂರ್ಣ (Absolute) ಇಂಪೋರ್ಟ್ಗಳನ್ನು ಬಳಸುವುದು ಉತ್ತಮ. (
from my_app.utils import helper)
4. ಖಾಲಿ ಸಾಲುಗಳು (Blank Lines)
- ಟಾಪ್-ಲೆವೆಲ್ ಫಂಕ್ಷನ್ಗಳು ಮತ್ತು ಕ್ಲಾಸ್ಗಳ ವ್ಯಾಖ್ಯಾನಗಳ ನಡುವೆ ಎರಡು ಖಾಲಿ ಸಾಲುಗಳನ್ನು ಬಿಡಿ.
- ಕ್ಲಾಸ್ನೊಳಗಿನ ಮೆಥಡ್ಗಳ ವ್ಯಾಖ್ಯಾನಗಳ ನಡುವೆ ಒಂದು ಖಾಲಿ ಸಾಲನ್ನು ಬಿಡಿ.
5. ವೈಟ್ಸ್ಪೇಸ್ (Whitespace)
- ಆಪರೇಟರ್ಗಳ ಸುತ್ತಲೂ (
=,+=,==,<,>) ಮತ್ತು ಅಲ್ಪವಿರಾಮದ ನಂತರ ಸ್ಪೇಸ್ ಬಳಸಿ. - ಆವರಣಗಳ ಒಳಗೆ ತಕ್ಷಣವೇ ಸ್ಪೇಸ್ ಬಳಸಬೇಡಿ.
print( 'Hello' )ತಪ್ಪು,print('Hello')ಸರಿ.
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ನೊಂದಿಗೆ ಹೋಲಿಸಬೇಡಿ. try...exceptಬ್ಲಾಕ್ನಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ಎಕ್ಸೆಪ್ಷನ್ಗಳನ್ನು ಮಾತ್ರ ಹಿಡಿಯಿರಿ.except:ಅನ್ನು ಬಳಸಬೇಡಿ.
ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳು (Linters and Formatters)
PEP 8 ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪಾಲಿಸುವುದು ಕಷ್ಟ. ಅದಕ್ಕಾಗಿ, ನಾವು ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳನ್ನು ಬಳಸಬಹುದು:
- Linters (flake8, pylint): ಇವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಿ PEP 8 ಉಲ್ಲಂಘನೆಗಳು ಮತ್ತು ಇತರ ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ವರದಿ ಮಾಡುತ್ತವೆ.
- Formatters (black, autopep8, isort): ಇವು ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ PEP 8 ಶೈಲಿಗೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತವೆ. isort ನಿರ್ದಿಷ್ಟವಾಗಿ import ಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ.
ಈ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಪಾಲಿಸುವುದರಿಂದ, ನಿಮ್ಮ ಪೈಥಾನ್ ಕೋಡ್ ಹೆಚ್ಚು ವೃತ್ತಿಪರ, ನಿರ್ವಹಿಸಬಲ್ಲ, ಮತ್ತು ಸಹಯೋಗಕ್ಕೆ ಸುಲಭವಾಗುತ್ತದೆ.