Kategoriler
PHP

PHP’de Kod Nasıl Yazılmaz: Başlıca Hatalar ve İpuçları

Yazılım dünyasında daha temiz ve etkili kod yazmak için kullanabileceğiniz 50 best practice’i içeren bir yazı. Kodunuzun okunabilirliğini artırın, performansınızı optimize edin ve genel olarak daha sürdürülebilir bir geliştirme sürecine sahip olun. Yazının tamamını okuyun ve kod yazma becerilerinizi geliştirin!

Hoşgeldiniz, PHP maceracıları! Bugün, PHP’de kod yazarken düşülmesi kolay olan tuzakları ve bu tuzaklardan nasıl kaçınılacağını konuşacağız. Hem eğlenceli hem de bilgilendirici bir yolculuğa hazır mısınız?

1.      Karmakarışık Ternary Operatörleri: Çözülemeyen Bilmece Gibi!

PHP, kısayol operatörlerle doludur. Ancak, ternary operatörleri karmaşık hale getirmek sizi; kodunuzu keşfe çıkan bir arkeolog gibi yapabilir.

Örnek:

$sonuc = ($isDogru) ? "Doğru" : "Yanlış";

Düzeltme:

Evet, ternary operatörü kullanabiliriz, ancak bir sürü açıklayıcı yorum ekleyerek bir bilmece gibi bırakmaktansa, basit bir if-else ifadesi kullanmak bazen daha iyidir.

if ($isDogru) {
    $sonuc = "Doğru";
} else {
    $sonuc = "Yanlış";
}

2.      SQL Sorgularını Parmakla Değil, Beyinle Yazın!

Veritabanı, PHP’nin en iyi arkadaşıdır, ancak SQL sorgularınızı düzgün hazırlamamak, sizi kötü bir arkadaşa dönüştürebilir.

Örnek:

$query = "SELECT * FROM kullanici WHERE username = '" . $kullaniciAdi . "'";

Düzeltme:

Evdeki hesap çarşıya uymaz! SQL sorgularınızı doğru bir şekilde hazırlamak için hazır ifadeleri kullanın ve SQL enjeksiyonu canavarının yolunu kesin.

$query = "SELECT * FROM kullanici WHERE username = ?";
$statement = $pdo->prepare($query);
$statement->execute([$kullaniciAdi]);

3.      “include” İşlemleri: Güvenlik Duvarınız Çatlak Mı?

Dosya işlemleri, PHP’nin karanlık kuytularındaki canavarlarla doludur. Kullanıcı girişi veya dışarıdan alınan verileri doğrudan dosya adı olarak kullanmak, güvenlik duvarınızın çatlak olmasına neden olabilir.

Örnek:

$dosyaAdi = $_GET['dosya'];
include($dosyaAdi);

Düzeltme:

Dikkat edin, bu iş ciddi! Kullanıcı girişlerini kontrol edin ve dosya işlemleri konusunda dikkatli olun.

$dosyaAdi = $_GET['dosya'];

if (isValidFileName($dosyaAdi)) {
    include($dosyaAdi);
} else {
    // Hata işlemleri
}

4.      Kodu Güncellemeden Modası Geçmiş Kullanmak: Bir Zaman Makinesi Hatası!

PHP, zaman içinde evrim geçirdi ve bazı özellikler artık modası geçmiş durumda. Eskimiş `mysql_` fonksiyonları yerine modern ve havalı `mysqli_` veya PDO kullanmalısınız.

Örnek:

$result = mysql_query($query);

Düzeltme:

Eski moda bir giysi gibi bu fonksiyonları kullanmak yerine, güncel ve desteklenen alternatifleri giyin.

$result = mysqli_query($connection, $query);

5.      Spagetti Kod: Makarna Sever misiniz?

Spagetti kod, karmaşık ve düzensiz bir yapıya sahip olan, okunabilirliği zor olan kod demektir. Eğer kodunuz spagetti gibi ise, en iyi şef bile ne yapacağını şaşırır!

Örnek:

if ($kullanici->isAdmin()) {
    echo "Merhaba Yüce Admin!";
} else {
    if ($kullanici->isModerator()) {
        echo "Merhaba Saygıdeğer Moderatör!";
    } else {
        if ($kullanici->isUser()) {
            echo "Merhaba Değerli Kullanıcı!";
        } else {
            echo "Kim Bu Garip İnsan?";
        }
    }
}

Düzeltme:

Bunu düzenleyelim, kodun okunabilirliğini artıralım ve spagetti yerine bir makarna partisi düzenleyelim!

if ($kullanici->isAdmin()) {
    echo "Merhaba Yüce Admin!";
} elseif ($kullanici->isModerator()) {
    echo "Merhaba Saygıdeğer Moderatör!";
} elseif ($kullanici->isUser()) {
    echo "Merhaba Değerli Kullanıcı!";
} else {
    echo "Kim Bu Garip İnsan?";
}

6.      Sihirli Sayılar: Sayılar Büyücü Gibi Değil!

Kodunuzda rastgele belirlenen sayılar “sihirli sayılar” demek. Sihirli sayılar, kodunuzu anlamakta zorluk yaşayan bir büyücüye dönüşmenize neden olabilir. Ne yapmak istediğini bilmeyen bir büyücü, sihirli numaraları neyleyecek ki?

Örnek:

if ($durum == 1) {
    // Bir şeyleri yap
} elseif ($durum == 2) {
    // Başka bir şeyleri yap
} else {
    // Hiç anlamadık, sihirli bir şey yapalım
}

Düzeltme:

Sihirbaz değiliz, sayılarla konuşmak yerine anlamlı ifadeler kullanalım!

const AKTIF = 1;
const PASIF = 2;

if ($durum == AKTIF) {
    // Bir şeyleri yap
} elseif ($durum == PASIF) {
    // Başka bir şeyleri yap
} else {
    // Hala sihirli değil, açıklama yapalım
}

7.      Gereksiz İzleme ve Loglama: Çok Bilgi Kirliliği!

Her şeyi izlemek ve her şeyi loglamak, bilgi kirliliği yaratır. Her adımı takip eden bir izleyici gibi olmak, bir gün kendinizi bir polis devriyesi sanmanıza neden olabilir!

Örnek:

// Her adımı izle
echo "Adım 1 tamamlandı\n";
// Başka bir adımı izle
echo "Adım 2 tamamlandı\n";
// Ve başka bir adımı izle
echo "Adım 3 tamamlandı\n";

Düzeltme:

İzlemek yerine, anlamak daha iyidir. Gereksiz izleme ve loglamadan kaçının!

// Yapılacak işlemler
echo "İşlem tamamlandı\n";

8.      Yetersiz Hata Kontrolü: Elmasları Çağırarak Aramak Kolay mı?

PHP kodunuza yetersiz hata kontrolleri eklemek, sanki bir elmas çağırmak gibi. Hata yakalamadan, elmasa hiçbir zaman ulaşamazsınız!

Örnek:

$dosya = fopen("belirsiz_dosya.txt", "r");
$icerik = fread($dosya, filesize("belirsiz_dosya.txt"));
fclose($dosya);

Düzeltme:

Dosya işlemlerini yaparken hata durumlarını kontrol etmek, elmas çağırmak kadar kolaydır.

$dosya = @fopen("belirsiz_dosya.txt", "r");

if (!$dosya) {
    echo "Hata: Dosya açılamadı!";
} else {
    $icerik = fread($dosya, filesize("belirsiz_dosya.txt"));
    fclose($dosya);
}

9.      Sürekli Global Değişken Kullanmak: Dünya Turuna Çıkıyoruz!

Global değişkenler, kodunuzun dünya turuna çıkmasına neden olabilir. Herkesin elini her şeye atması, kaotik bir düzen yaratır.

Örnek:

$globalDegisken = 10;

function birFonksiyon() {
    global $globalDegisken;

    echo $globalDegisken;
}

Düzeltme:

Global değişken kullanmak yerine, fonksiyonlara parametre olarak geçmek daha düzenli bir dünya sunar.

10. Kodu Kopyala-Yapıştır Yöntemi: Ctrl+C, Ctrl+V, Kehanet!

Kod kopyala-yapıştır yapmak, sanki bir kehanet kitabını açıp aynı cümleyi sürekli okumak gibidir. Değişen bir şey yoksa, geleceği tahmin etmek zordur!

Örnek:

$isci1Maas = 3000;
$isci2Maas = 3000;
$isci3Maas = 3000;
// vs.

Düzeltme:

Tek bir kod parçasını çoğaltmak yerine, daha esnek ve sürdürülebilir bir yapı kullanmak önemlidir.

function maasHesapla($isci) {
    return $isci['maas'];
}

$isci1 = ['maas' => 3000];
$isci2 = ['maas' => 3000];
$isci3 = ['maas' => 3000];

echo maasHesapla($isci1);
echo maasHesapla($isci2);
echo maasHesapla($isci3);

11. Gereksiz Döngü Kullanımı: Sonsuz Zaman Çarkı!

Döngüler güçlü araçlardır, ancak gereksiz döngüler kullanmak, sanki bir zaman çarkına hapsolmuş gibi hissettirebilir.

Örnek:

for ($i = 0; $i < 5; $i++) {
    echo "Merhaba Dünya! ";
}

while (true) {
    echo "Hoşgeldiniz! ";
}

Düzeltme:

Döngüleri, işlerini bitirdikten sonra sonlandırmak önemlidir.

for ($i = 0; $i < 5; $i++) {
    echo "Merhaba Dünya! ";
}

// Diğer işlemler
echo "Hoşgeldiniz! ";

12. HTML ve PHP Karışımı: Yemek Tarifindeki Renk Körü Aşçı!

HTML ve PHP’yi karıştırmak, sanki yemek tarifini renk körü bir aşçının hazırladığı gibi bir karmaşa yaratır.

Örnek:

echo "<h1>Merhaba, ".$isim."!</h1>";

Düzeltme:

HTML ve PHP’yi ayrı tutmak, daha temiz ve okunabilir bir kod sağlar.

?>
<h1>Merhaba, <?php echo $isim; ?>!</h1>
<?php

13. İsimlendirme Karması: Kaybolmuş Şehir Efsanesi!

Anlamsız, kısaltmalı veya karışık isimler kullanmak, kodunuzun bir kayıp şehir efsanesine dönüşmesine neden olabilir.

Örnek:

$abc = 42;
$x1 = "Merhaba";

Düzeltme:

Anlamlı ve açıklayıcı isimler, kodunuzun okunabilirliğini artırır.

$cevap = 42;
$selam = "Merhaba";

14. Çoklu İfadeler: 007’in Kullandığı Görevler!

Çoklu ifadeler kullanmak, sanki 007’nin kullandığı çoklu görevli bir ajan gibi karmaşaya neden olabilir.

Örnek:

$sonuc = ($durum == "aktif") ? "Durum Aktif" : ($durum == "pasif") ? "Durum Pasif" : "Bilinmeyen Durum";

Düzeltme:

if-else ifadeleri kullanarak, daha okunabilir ve anlaşılır bir kod elde edebilirsiniz.

if ($durum == "aktif") {
    $sonuc = "Durum Aktif";
} elseif ($durum == "pasif") {
    $sonuc = "Durum Pasif";
} else {
    $sonuc = "Bilinmeyen Durum";
}

15. Gereksiz Yorumlar: Aynı Evrakları İki Kez İncelemek!

Gereksiz yorumlar eklemek, sanki aynı evrakları iki kez incelemek gibi zaman kaybına neden olabilir.

Örnek:

// Bu fonksiyon, iki sayıyı toplar.
function topla($sayi1, $sayi2) {
    // Toplamı hesapla ve geri döndür.
    return $sayi1 + $sayi2;
}

Düzeltme:

Açıklayıcı kodlar ekleyerek, gereksiz yorumları ortadan kaldırabiliriz.

function topla($sayi1, $sayi2) {
    return $sayi1 + $sayi2;
}

16. Gereksiz Karakter Kullanımı: Boşlukları Unutmak!

Gereksiz karakter kullanımı, sanki birisi konsol tuşlarına karışmış gibi kodunuzu karışık hale getirebilir.

Örnek:

$mesaj= "Merhaba   ";

Düzeltme:

Boşlukları temizleyerek, kodunuzu daha düzenli hale getirebilirsiniz.

$mesaj = "Merhaba";

17. Kodu İntikam Amaçlı Yazmak: Kötü Jedi Yolu!

Kodu intikam amaçlı yazmak, sanki kötü bir Jedi gibi hissettirebilir. Başkalarına kötülük yapmak yerine, güçlerinizi iyi amaçlar için kullanın!

Örnek:

if ($kullanici == "KotuAdam") {
    // Kullanıcıyı engelle
    die("Bu kullanıcıya erişim engellendi!");
}

Düzeltme:

Olumlu şartlar kullanarak, kodunuzu daha olumlu ve anlaşılır hale getirebilirsiniz.

if ($kullanici != "IyiAdam") {    
    // Kullanıcıya erişim verme
    die("Bu kullanıcıya erişim engellendi!");
}

18. Aynı Şeyleri Tekrar Tekrar Yazmak: Cümleleri Cımbızlamak!

Aynı şeyleri tekrar tekrar yazmak, sanki aynı cümleleri cımbızlamak gibi zaman kaybına neden olabilir.

Örnek:

echo "Merhaba, " . $isim . "!";
echo "Merhaba, " . $isim . "!";

Düzeltme:

Aynı şeyi tekrar etmek yerine, bir değişken kullanarak kodunuzu daha temiz hale getirebilirsiniz.

$selamMesaji = "Merhaba, " . $isim;
echo $selamMesaji;
echo $selamMesaji. "!";

19. Harf Büyüklüğü Takıntısı: CAPS LOCK ANLAMINA GELİR!

Harf büyüklüğü takıntısı, sanki sürekli bağırıyormuş gibi hissettirebilir. Her şeyin bir CAPS LOCK ile yazılmasına gerek yok!

Örnek:

$ADI_SOYADI = "John DOE";

Düzeltme:

Normal harf büyüklüğü kullanarak, kodunuzu daha sakin ve anlaşılır hale getirebilirsiniz.

$adiSoyadi = "John Doe";

20. Küçük Detaylara Takılmak: Felsefe Profesörü Olmak!

Kodun küçük detaylarına takılmak, sanki felsefe profesörü olmuşçasına derin düşünceye dalmanıza neden olabilir.

Örnek:

if ($sayi == 1) {
    echo "Bir sayıdır.";
} elseif ($sayi == 2) {
    echo "İki sayısıdır.";
} elseif ($sayi == 3) {
    echo "Üç sayısıdır.";
} // vs.

Düzeltme:

Daha temiz ve kısa bir şekilde şartları düzenleyebiliriz.

echo $sayi . " sayısıdır.";

21. Tek Bir Satırda Her Şeyi İfade Etmek: Çok Hızlı Çekim!

Her şeyi tek bir satırda ifade etmek, sanki çok hızlı bir çekim yapmış gibi karmaşık bir görüntü oluşturabilir.

Örnek:

if ($durum == "aktif" && $kullanici->yetki == "admin" && $sayi > 0) echo "Her şey yolunda!";

Düzeltme:

Şartları açıklayıcı hale getirerek kodun okunabilirliğini artırabiliriz.

if ($durum == "aktif" && $kullanici->yetki == "admin" && $sayi > 0) {
    echo "Her şey yolunda!";
}

22. Çok Sayıda Parametre: Dolaşımdaki Trafik Lambası!

Fonksiyonlara çok sayıda parametre eklemek, sanki bir dolaşımdaki trafik lambası gibi karmaşıklığa neden olabilir.

Örnek:

function bilgiGoster($ad, $soyad, $yas, $sehir, $meslek) {
    // ...
}

Düzeltme:

Parametreleri daha düzenli bir şekilde yönetebiliriz.

function bilgiGoster($kisi) {
    // ...
}

23. Tek Karakter Kullanımı: Kriptografi Hocası Olmak!

Tek karakter kullanmak, sanki bir kriptografi hocası olmuşçasına anlamı zorlaştırabilir.

Örnek:

if ($a == 1 && $b == 0 || $c == "x") {
   // ...
}

Düzeltme:

Daha anlamlı isimlendirme ile kodunuzu geliştirebiliriz.

$ilkDurum = ($a == 1 && $b == 0);
$ikinciDurum = ($c == "x");
if ($ilkDurum || $ikinciDurum) {
   // ...
}

24. Çok Sayıda Global Değişken Kullanımı: 80 Günde Devri Alem!

Çok sayıda global değişken kullanmak, sanki bir dünya turuna çıkmış gibi karmaşıklığa neden olabilir.

Örnek:

$global1 = 42;
$global2 = "Merhaba";
$global3 = [1, 2, 3];

Düzeltme:

Global değişkenleri minimize ederek, kodunuzu daha düzenli hale getirebiliriz.

$config = [
    'sayi' => 42,
    'mesaj' => "Merhaba",
    'liste' => [1, 2, 3],
];

25. Ters Mantık Kullanımı: Labirentte Kaybolmak!

Ters mantık kullanmak, sanki bir labirentin içinde kaybolmuş gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

if (!$kullanici->isAdmin() && !$kullanici->isModerator()) {
    echo "Bu sayfaya erişim izniniz yok!";
}

Düzeltme:

Olumlu ifadeler kullanarak, kodunuzu daha anlaşılır hale getirebiliriz.

if ($kullanici->isUser() || $kullanici->isModerator()) {
    // Sayfa içeriği
} else {
    echo "Bu sayfaya erişim izniniz yok!";
}

26. Kod Parçacıklarını İsimlendirmeme: Kaybolan Efsunlu Kütük!

Kod parçacıklarını isimlendirmemek, sanki bir efsunlu kütük kaybetmiş gibi kodunuzu takip etmeyi zorlaştırabilir.

Örnek:

function fonksiyon() {
    // ...
}

Düzeltme:

Fonksiyonun ne yaptığını anlatan isimler kullanarak, kodunuzu daha açıklayıcı hale getirebiliriz.

function kullaniciBilgileriniGetir() {
    // ...
}

27. Tek Bir Dosyada Her Şeyi Toplamak: Çılgın Bilim Adamı!

Tek bir dosyada her şeyi toplamak, sanki çılgın bir bilim adamı gibi karmaşık bir deney yapmak gibi olabilir.

Örnek:

// functions.php

function topla($a, $b) {
    return $a + $b;
}

function carp($a, $b) {
    return $a * $b;
}

// index.php

include("functions.php");
$sonuc = topla(2, 3);
echo $sonuc;

Düzeltme:

Modüler bir yapı kullanarak, kodunuzu daha organize hale getirebiliriz.

// toplama.php

function topla($a, $b) {
    return $a + $b;
}

// carpma.php

function carp($a, $b) {
    return $a * $b;
}

// index.php

require("toplama.php");
$sonuc = topla(2, 3);
echo $sonuc;

28. Tüm Hataları Yakalamak: Fırtına Öncesi Sessizlik!

Tüm hataları yakalamak, sanki bir fırtına öncesi sessizlik gibi beklenmedik sorunlara yol açabilir.

Örnek:

try {
    // Kodlar
} catch (Exception $e) {
    // Hata işlemleri
}

Düzeltme:

Belirli hataları yakalayarak, sadece ilgili sorunlarla ilgilenmeyi tercih edebiliriz.

try {
    // Kodlar
} catch (DatabaseException $e) {
    // Veritabanı hatası işlemleri
} catch (HttpException $e) {
    // HTTP hatası işlemleri
}

29. Koşul İfadelerinde Karmaşıklık: Zeka Testi!

Koşul ifadelerini aşırı karmaşık hale getirmek, sanki bir zeka testi çözüyormuş gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

if ($a > 0 && $b < 10 || ($c == "merhaba" && $d != "dunya") || ($e % 2 == 0 && $f % 2 != 0)) {
    // ...
}

Düzeltme:

Koşulları anlamlı parçalara bölmek, kodunuzu daha okunabilir hale getirebilir.

$kosul1 = ($a > 0 && $b < 10);
$kosul2 = ($c == "merhaba" && $d != "dunya");
$kosul3 = ($e % 2 == 0 && $f % 2 != 0);
if ($kosul1 || $kosul2 || $kosul3) {
    // ...
}

30. Gereksiz Dizi İşlemleri: Fazladan Bagaj!

Dizi işlemlerini aşırıya kaçmak, sanki fazladan bagajla seyahat ediyormuş gibi gereksiz yük ekleyebilir.

Örnek:

$dizi = array();
$dizi[0] = "Elma";
$dizi[1] = "Armut";
$dizi[2] = "Çilek";

Düzeltme:

Dizi elemanlarını doğrudan tanımlamak, kodunuzu daha sade hale getirebilir.

$dizi = ["Elma", "Armut", "Çilek"];

31. Sürekli Yazım Hataları: Dil Bilgisi Felaketi!

Sürekli yazım hataları yapmak, sanki bir dil bilgisi felaketi yaşanıyormuş gibi kodunuzu zor anlaşılır hale getirebilir.

Örnek:

$veriaal = 42;
$degeri = "Hello";

Düzeltme:

Dil bilgisine uygun bir şekilde yazılmış kodlar, anlaşılabilirliği artırır.

$veriAl = 42;
$deger = "Hello";

32. Bağlantıları Açık Bırakmak: Hafıza Sızıntısı!

Bağlantıları açık bırakmak, sanki hafıza sızıntısı yaratmış gibi uygulamanızın performansını olumsuz etkileyebilir.

Örnek:

$baglanti = new PDO("mysql:host=localhost;dbname=veritabani", "kullanici", "sifre");
// ...

Düzeltme:

Bağlantıları uygun şekilde kapatmak, hafıza sızıntılarını önler.

$baglanti = new PDO("mysql:host=localhost;dbname=veritabani", "kullanici", "sifre");
// ...
$baglanti = null;

33. Tek Sorumluluk Prensibi’ne Uymamak: Çok Görevli Kod!

Bir fonksiyonun veya sınıfın tek bir sorumluluğu olmaması, sanki çok görevli bir çalışan gibi karmaşık bir yapı yaratır.

Örnek:

class Urun {
    function bilgileriGetir() {
        // ...
    }

   function fiyatHesapla() {
        // ...
    }
}

Düzeltme:

Her bir sınıfın veya fonksiyonun sadece bir sorumluluğu olması, kodunuzu daha bakımı kolay hale getirir.

class Urun {
    function bilgileriGetir() {
        // ...
    }
}

class FiyatHesaplama {
    function hesapla() {
        // ...
    }
}

34. Kodunuzu Belgeleme İhmali: Geceleyin Kaybolan Harita!

Kodunuzu belgelemeden bırakmak, sanki geceleyin bir harita olmadan ormanda kaybolmuş gibi hissettirebilir.

Örnek:

function musterileriGetir() {
    // ...
}

Düzeltme:

Fonksiyonlarınızı ve önemli kod bloklarınızı açıklayan belgeler eklemek, kodunuzun anlaşılabilirliğini artırır.

/**
 * Müşterileri veritabanından çeken fonksiyon.
 *
 * @return array Müşterilerin listesi
 */
function musterileriGetir() {
    // ...
}

35. Yerine Göre Tırnak Kullanımı: Kafası Karışık Yazım!

Tek tırnak ve çift tırnak kullanımını karıştırmak, sanki birinin konuştuğunu diğerinin yazdığını sanmış gibi kafa karışıklığına neden olabilir.

Örnek:

$mesaj = 'Merhaba, $isim!';

Düzeltme:

Tek tırnak içinde değişken kullanmak yerine çift tırnak kullanarak daha net bir ifade elde edebiliriz.

$mesaj = “Merhaba, $isim!”;

36. Gereksiz Kontrol Yapıları: Boş Yol!

Gereksiz kontrol yapıları eklemek, sanki bir harita üzerinde boş bir yola sapmış gibi kodunuzu karmaşıklaştırabilir.

Örnek:

if ($kullanici) {
    if ($kullanici->isAdmin()) {
        // ...
    }
}

Düzeltme:

Gereksiz iç içe kontrol yapılarını kaldırarak kodunuzu daha düzenli hale getirebiliriz.

if ($kullanici && $kullanici->isAdmin()) {
    // ...
}

37. Yanlış Tür Kullanımı: Soydan Düşme!

Yanlış veri türlerini kullanmak, sanki bir soydan düşmüş gibi beklenmedik sonuçlara neden olabilir.

Örnek:

$sayi = "42";
$sonuc = $sayi + 10;

Düzeltme:

Doğru veri türlerini kullanarak beklenmedik hatalardan kaçınabiliriz.

$sayi = 42;
$sonuc = $sayi + 10;

38. Karışık Operatör Kullanımı: Ruhunu Kaybetmiş Matematikçi!

Operatörleri karışık bir şekilde kullanmak, sanki ruhunu kaybetmiş bir matematikçinin eserini incelemek gibi karmaşıklığa neden olabilir.

Örnek:

$sonuc = $a * $b + ($c / $d) - $e;

Düzeltme:

Parantezleri kullanarak operatörleri açık bir şekilde belirtmek, kodunuzu daha anlaşılır hale getirir.

$sonuc = ($a * $b) + ($c / $d) - $e;

39. Gelişigüzel Fonksiyon İsimleri: Harf Salatası!

Fonksiyonlara gelişigüzel isimler vermek, sanki harfleri rastgele seçmiş gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

function abc() {
    // ...
}

Düzeltme:

Fonksiyonlara anlamlı isimler vermek, kodunuzu daha anlaşılır hale getirir.

function veriGetir() {
    // ...
}

40. Bağlam Dışı Kullanım: Kaybolmuş Cüzdan!

Değişkenleri veya fonksiyonları bağlam dışında kullanmak, sanki kaybolmuş bir cüzdanı aramak gibi anlam karmaşası yaratır.

Örnek:

function topla($a, $b) {
    return $a + $b;
}

$cikarmaSonucu = topla(5, 3) - 2;

Düzeltme:

Değişkenleri veya fonksiyonları bağlam içinde kullanmak, kodunuzu daha mantıklı ve anlaşılır hale getirir.

$toplamaSonucu = topla(5, 3);
$cikarmaSonucu = $toplamaSonucu - 2;

41. Fazla Kod Karmaşası: Hayalet Şehir!

Fazla karmaşık kod kullanmak, sanki hayalet bir şehirde kaybolmuş gibi anlam karmaşası yaratır.

Örnek:

if ($durum == 1) {
    echo "Durum Aktif";
} elseif ($durum == 2) {
    echo "Durum Pasif";
} elseif ($durum == 3) {
    echo "Durum Beklemede";
} elseif ($durum == 4) {
    echo "Durum Hata";
} // vs.

Düzeltme:

Durumları bir dizi veya sabitler kullanarak daha düzenli hale getirebiliriz.

$durumlar = [
    1 => "Durum Aktif",
    2 => "Durum Pasif",
    3 => "Durum Beklemede",
    4 => "Durum Hata",
];

echo $durumlar[$durum];

42. Kod Düzeni İhmal Edilmemeli: Karışık Mutfak!

Kod düzenine dikkat etmemek, sanki bir karışık mutfakta yemek yapmış gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

$sayi= 42;$sonuc= $sayi* 2;echo$sonuc;

Düzeltme:

Kodunuzu düzenleyerek, okunabilirliği artırabilirsiniz.

$sayi = 42;
$sonuc = $sayi * 2;
echo $sonuc;

43. Gereksiz Döngü İşlemleri: Hızlı ve Öfkeli!

Döngü işlemlerini gereksiz yere hızlı ve öfkeli bir şekilde kullanmak, sanki bir hız yarışında gereksiz yere enerji harcamış gibi kodunuzu karmaşıklaştırabilir.

Örnek:

for ($i = 0; $i < 10; $i++) {
    if ($i % 2 == 0) {
        // Çift sayı işlemleri
    } else {
        // Tek sayı işlemleri
    }
}

Düzeltme:

Döngü işlemlerini daha optimize bir şekilde kullanarak kodunuzu basitleştirebilirsiniz.

for ($i = 0; $i < 10; $i += 2) {
    // Çift sayı işlemleri
}

for ($i = 1; $i < 10; $i += 2) {
    // Tek sayı işlemleri
}

44. Gelişigüzel Veritabanı Sorguları: Bilgi Karışıklığı!

Gelişigüzel veritabanı sorguları kullanmak, sanki bir bilgi karışıklığına neden olmuş gibi kodunuzu güvensiz ve karmaşık hale getirebilir.

Örnek:

$query = "SELECT * FROM uyeler WHERE kullaniciAdi = '" . $kullaniciAdi . "' AND sifre = '" . $sifre . "'";

Düzeltme:

Veritabanı sorgularını parametrelerle kullanarak, kodunuzu daha güvenli hale getirebilirsiniz.

$query = "SELECT * FROM uyeler WHERE kullaniciAdi = ? AND sifre = ?";

45. Gizli Hata Ayıklama: Görünmez Melekler!

Gizli hata ayıklama kodları bırakmak, sanki görünmez meleklerle savaşıyormuş gibi anlam karmaşası yaratabilir.

Örnek:

error_reporting(0);
ini_set('display_errors', 0);

Düzeltme:

Hata ayıklama kodlarını kullanırken, güvenli ve etkili bir şekilde hataları ele alabilirsiniz.

error_reporting(E_ALL);
ini_set('display_errors', 1);

46. İlgili Olmayan Yorumlar: Sahipsiz Yazıtlar!

İlgili olmayan veya eski yorumlar bırakmak, sanki sahipsiz yazıtlara rastlamış gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

// Fonksiyonu kontrol et
function kontrolEt() {
    // ...
}

Düzeltme:

İlgili ve güncel yorumlar bırakarak kodunuzu anlamayı kolaylaştırabilirsiniz.

// Kullanıcı girişini kontrol et
function kontrolEt() {
    // ...
}

47. Yavaş Sorgular: İsyan Çağrısı!

Veritabanı sorgularını gereksiz yavaş veya karmaşık bir şekilde kullanmak, sanki bir isyan çağrısı yapmış gibi kodunuzu performanssız hale getirebilir.

Örnek:

$sonuclar = mysql_query("SELECT * FROM tablo WHERE sart1 = 'deger1' OR sart2 = 'deger2'");

Düzeltme:

Sorguları optimize ederek ve uygun indeksleri kullanarak kodunuzu daha hızlı hale getirebilirsiniz.

$sonuclar = mysql_query("SELECT * FROM tablo WHERE sart1 = 'deger1' OR sart2 = 'deger2' LIMIT 10");

48. Kod İflası: Enkaz Alanı!

Kod iflası yaşamış ve kullanılmayan kodları projede tutmak, sanki bir enkaz alanında dolaşıyormuş gibi karmaşa yaratır.

Örnek:

// Kullanılmayan bir dizi
$eskiVeriler = array();

Düzeltme:

Kullanılmayan kodları temizleyerek, projenizin sadeleşmesini sağlayabilirsiniz.

// Bu kod artık kullanılmıyor ve temizlenebilir
// $eskiVeriler = array();

49. Gereksiz Dosya İşlemleri: İnternet Çöplüğü!

Gereksiz dosya işlemleri yapmak, sanki bir internet çöplüğünde kaybolmuş gibi projenizi karışık hale getirebilir.

Örnek:

// Her istekte yeni bir log dosyası oluşturmak
file_put_contents("log-" . date("Y-m-d") . ".txt", "Hata mesajı");

Düzeltme:

Loglama işlemlerini tek bir dosyada toplamak, kodunuzu daha düzenli hale getirebilir.

// Logları tek bir dosyada tutmak
file_put_contents("log.txt", date("Y-m-d H:i:s") . " - Hata mesajı" . PHP_EOL, FILE_APPEND);

50. Gereksiz İç İçe Fonksiyonlar: Matryoshka Fonksiyonları!

Gereksiz iç içe fonksiyonlar kullanmak, sanki bir Matryoshka bebeklerinin içinde kaybolmuş gibi kodunuzu anlamayı zorlaştırabilir.

Örnek:

function fonksiyon1() {
    function fonksiyon2() {
        function fonksiyon3() {
            // ...
        }
    }
}

Düzeltme:

Fonksiyonları mantıklı bir düzeyde sıralayarak kodunuzu daha anlaşılır hale getirebilirsiniz.

function fonksiyon1() {
    // ...
}

function fonksiyon2() {
   // ...
}

function fonksiyon3() {
    // ...
}

PHP’de kod yazarken, esprili bir dil kullanmak, sıkıcı olmayan bir geliştirme süreci için mükemmel bir yoldur. Ancak, esprili olmak bir yana, temel kurallara uymak ve kodunuzu güvenli ve sürdürülebilir hale getirmek de önemlidir. Şimdi, kodlarınızı geliştirmek için bu ipuçlarıyla savaşa hazır mısınız? Savaş başlasın! 🚀

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir