Python ile Temiz Kod Yazma

Bu yazımızda Python ile temiz kod yazmanın öneminden, nasıl yapılacağından ve hangi kurallara dikkat edilmesi gerektiğinden bahsedeceğiz.

📅2025-04-25
Harun BüyükçolakHarun Büyükçolak, Full Stack Developer
Python ile Temiz Kod Yazma

Python ile Temiz Kod Yazma

Python okunabilirliği yüksek olan developer dostu bir dil olarak bilinir. Ancak kodu okunabilir kılan sadece dilin yapısı değil, aynı zamanda developer'ın yazım alışkanlıklarıdır. Her yazılımcının kendine has bir kod yazma alışkanlığı vardır elbet ancak iş kodun formatlanmasına geldiğinde bir takım standartlarımızın olması kaçınılmaz bir durumdur. Yoksa ortalık jungle haline gelirdi. İşte tam bu noktada, ortalığın jungle olmasına engel olmak için temiz kod (clean code) kavramıyla karşılaşıyoruz. Temiz kod prensipleri en yalın haliyle, kodun nasıl daha okunabilir ve sürdürülebir yazılabileceği noktasında bize yardım eden kurallardır. Temiz kod prensiplerine uymak:

  • Yazdığımız kodun diğer yazılımcılar tarafından daha kolay anlaşılmasını sağlar
  • Kodumuzun daha hızlı ve kolay bir şekilde bakımınının yapılabilmesine olanak tanır
  • Kompleks problemlerin üstesinden daha kolay gelebilmemizi sağlar.
  • Kodun daha az karmaşık olmasına yardımcı olur ve böylece daha az hata yaparız.

Bu yazımda özellikle Python'da daha temiz bir kod nasıl yazarız, bunu size örnekleriyle açıklayacağım. Clean code prensipleri oldukça fazla olduğundan, burada bunların hepsinin üstünden geçmeyeceğim. Ancak, kolay olan bazı prensipleri sizlerle paylaşacağım. Amacım genel olarak Python'da temiz kod yazmanın önemine vurgu yapmak.

1. Anlamlı İsimlendirme

Değişken ve fonksiyon adları kısa ama anlamlı olmalı, amacını doğrudan yansıtmalıdır. İsimlendirme konusunda yazılımcı arkadaşlarımın çok özgün olduklarına şahit oluyorum. Oldukça komik isimler buluyorlar. Bu bir yere kadar iyi ama fazla abartmamakta fayda var. Ama en önemli problem, çok kısa ve anlamsız isimler kullanmak. Bu durumda kodu yazan dahi sonradan ne yazdığnı hatırlamıyor.

# Kötü örnek
x = 10
y = 5
z = x * y

# İyi örnek
unit_price = 10
quantity = 5
total_price = unit_price * quantity

2. Tek Sorumluluk İlkesi

Fonksiyonlara az iş yaptırın arkadaşlar. Böylece daha kolay fonksiyon yazarsınız ve yazdığınız fonksiyonu da test etmesi de kolay olur. Devasa fonskisyonlar yazmak sizi daha iyi bir yazılımcı yapmaz. Aksine, daha kötü bir yazılımcı yapar. Tek sorumluluk ilkesi, bir fonksiyonun yalnızca bir sorumluluğunun olması gerektiğini belirtir.

# Kötü örnek
def process_user(user):
    validate(user)
    save_to_db(user)
    send_email(user)

# İyi örnek
def validate_user(user):
    pass

def save_user(user):
    pass

def notify_user(user):
    pass
  

3. Gereksiz Yorumlardan Kaçının

Kod zaten kendini açıklamalı. Yorumlar yalnızca neden sorusunu cevaplamalı. Koddaki açıklamaları okuyan başka bir yaılımcı sizin o anki ruh halinizi veya duygusal bunalımlarınızı falan anlayabiliyorsa burada bir sıkıntı var demektir ☺️.

# Kötü örnek
# Toplama yapılıyor
result = a + b

# İyi örnek
# Kullanıcının toplam sipariş tutarı hesaplanıyor
order_total = item_price + tax - discount

4. DRY Prensibi (Kendini Tekrarlama)

Tekrar eden kodlar fonksiyonlaştırılarak soyutlanmalıdır. Buna kuru üzüm, kuru kayısı prensibi diyoruz. Bu çok söz götürür, belki bununla alakalı bir yazı daha yazarım.

# Kötü örnek
print("Merhaba Ali")
print("Merhaba Ayşe")
print("Merhaba Mehmet")

# İyi örnek
def greet(name):
    print(f"Merhaba {name}")

greet("Ali")
greet("Ayşe")
greet("Mehmet")

5. PEP 8 Kurallarına Uyun

Python'un resmi stil rehberi olan PEP 8, kodunuzun tutarlılığını sağlar. Arada bu kurallara bakmakta fayda var.

# Kötü örnek
def add(x,y): return x+y

# İyi örnek
def add(x, y):
    return x + y

6. Fail-Proof Kod Yazın

Kodunuz beklenmeyen durumlarla karşılaştığında nasıl tepki vereceğini bilmelidir. Hataları yakalamak için try-except blokları kullanabilirsiniz. Bu, kodunuzun daha dayanıklı olmasına yardımcı olur. Fail-proof kod en sevdiğim koddur.

# Kötü örnek
value = int(input("Bir sayı girin: "))

# İyi örnek
try:
    value = int(input("Bir sayı girin: "))
except ValueError:
    print("Lütfen geçerli bir sayı girin.")

7. Gereksiz Koddan Kaçının

Kullanılmayan kod satırları ve değişkenler kaldırılmalı, kod mümkün olduğunca sade tutulmalı fellow developer arkadaşlarım ve öğrencilerim. En iyi kodun ne olduğunu bilir misiniz? En iyi kod, hiç yazılmamış koddur.

# Kötü örnek
x = 10
# y = 20
if True == True:
    print("Hello")

# İyi örnek
x = 10
print("Hello")

Python'da clean code yazmanız sadece daha estetik kodlar üretmeniz demek değildir. Aynı zamanda daha güvenli, bakımı kolay ve yazılımcı dostu (developer-friendly) kodlar yazmak demektir. Unutmayın, kod sadece bilgisayar için yazılmaz, insan için de yazılır. Hadi şimdi gidin ve sevdiğinize şiirsel bir kod yazın. Ama dikkat edin, kodunuz temiz olsun. Daha profesyonel bilgi almak için de benimle iletişime geçebilirsiniz.