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.

📅Yayın:
Harun BüyükçolakHarun Büyükçolak, Full Stack Developer
Python ile Temiz Kod Yazma

Yazı içeriği

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.

clear_names.pyPython
# Kötü örnekx = 10y = 5z = x * y# İyi örnekunit_price = 10quantity = 5total_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.

user_workflow.pyPython
# Kötü örnekdef process_user(user):    validate(user)    save_to_db(user)    send_email(user)# İyi örnekdef validate_user(user):    passdef save_user(user):    passdef 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 ☺️.

order_total.pyPython
# Kötü örnek# Toplama yapılıyorresult = a + b# İyi örnek# Kullanıcının toplam sipariş tutarı hesaplanıyororder_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.

greetings.pyPython
# Kötü örnekprint("Merhaba Ali")print("Merhaba Ayşe")print("Merhaba Mehmet")# İyi örnekdef 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.

addition.pyPython
# Kötü örnekdef add(x,y): return x+y# İyi örnekdef 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.

safe_input.pyPython
# Kötü örnekvalue = int(input("Bir sayı girin: "))# İyi örnektry:    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.

cleanup.pyPython
# Kötü örnekx = 10# y = 20if True == True:    print("Hello")# İyi örnekx = 10print("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.

Sonraki Adım: Bunları da Oku

Bu yazıyı tamamladıysan, bir sonraki seviyeye geçmek için şu içeriklerle devam etmeni öneririz:

Ücretsiz Seviye Analizi ile Başlayalım

Mevcut seviyenizi hızlıca analiz edip size en uygun ders planını birlikte çıkaralım.

WhatsApp