Python में Software Engineering Principles
Adam Spannbauer
Machine Learning Engineer
import this
The Zen of Python, by Tim Peters (संक्षिप्त)
सुंदर बदसूरत से बेहतर है.
स्पष्ट अप्रत्यक्ष से बेहतर है.
सरल जटिल से बेहतर है.
जटिल जटिलतर से बेहतर है.
पढ़ने योग्यता मायने रखती है.
अगर implementation समझाना कठिन हो, तो वह बुरा विचार है.
अगर implementation समझाना आसान हो, तो वह अच्छा विचार हो सकता है.
खराब नामकरण
def check(x, y=100):
return x >= y
वर्णनात्मक नामकरण
def is_boiling(temp, boiling_point=100):
return temp >= boiling_point
अति कर देना
def check_if_temperature_is_above_boiling_point(
temperature_to_check,
celsius_water_boiling_point=100):
return temperature_to_check >= celsius_water_boiling_point
The Zen of Python, by Tim Peters (संक्षिप्त)
सरल जटिल से बेहतर है.
जटिल जटिलतर से बेहतर है.

def make_pizza(ingredients):
# Make dough
dough = mix(ingredients['yeast'],
ingredients['flour'],
ingredients['water'],
ingredients['salt'],
ingredients['shortening'])
kneaded_dough = knead(dough)
risen_dough = prove(kneaded_dough)
# Make sauce
sauce_base = sautee(ingredients['onion'],
ingredients['garlic'],
ingredients['olive oil'])
sauce_mixture = combine(sauce_base,
ingredients['tomato_paste'],
ingredients['water'],
ingredients['spices'])
sauce = simmer(sauce_mixture)
...
def make_pizza(ingredients):
dough = make_dough(ingredients)
sauce = make_sauce(ingredients)
assembled_pizza = assemble_pizza(dough, sauce, ingredients)
return bake(assembled_pizza)
खराब नामकरण
def check(x, y=100):
return x >= y
वर्णनात्मक नामकरण
def is_boiling(temp, boiling_point=100):
return temp >= boiling_point
अति कर देना
def check_if_temperature_is_above_boiling_point(
temperature_to_check,
celsius_water_boiling_point=100):
return temperature_to_check >= celsius_water_boiling_point
Python में Software Engineering Principles