Python'da Yazılım Mühendisliği İlkeleri
Adam Spannbauer
Machine Learning Engineer
import this
The Zen of Python, by Tim Peters (kısaltılmış)
Güzel, çirkinden iyidir.
Açık, örtükten iyidir.
Basit, karmaşıktan iyidir.
Karmaşık, karışıktan iyidir.
Okunabilirlik önemlidir.
Eğer uygulama açıklaması zorsa, kötü bir fikirdir.
Eğer uygulama açıklaması kolaysa, iyi bir fikir olabilir.
Kötü adlandırma
def check(x, y=100):
return x >= y
Açıklayıcı adlandırma
def is_boiling(temp, boiling_point=100):
return temp >= boiling_point
Aşırıya kaçma
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 (kısaltılmış)
Basit, karmaşıktan iyidir.
Karmaşık, karışıktan iyidir.

def make_pizza(ingredients):
# Hamur yap
dough = mix(ingredients['yeast'],
ingredients['flour'],
ingredients['water'],
ingredients['salt'],
ingredients['shortening'])
kneaded_dough = knead(dough)
risen_dough = prove(kneaded_dough)
# Sos yap
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)
Kötü adlandırma
def check(x, y=100):
return x >= y
Açıklayıcı adlandırma
def is_boiling(temp, boiling_point=100):
return temp >= boiling_point
Aşırıya kaçma
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'da Yazılım Mühendisliği İlkeleri