"İşləyirsə toxunma" deyib keçməyin: Kodun "iylənməsi" nədir? (Kod nümunələri ilə)

2 Cavablar 307 Baxış Faydalı
·

Qiymət ver: "İşləyirsə toxunma" deyib keçməyin: Kodun "iylənməsi" nədir? (Kod nümunələri ilə)

Bu mövzunu artıq qiymətləndirmisiniz. Yenidən qiymətləndirmək mövcud qiymətinizi və ya rəyinizi siləcək.

Qiymət:

Qiymətləndirənlər: "İşləyirsə toxunma" deyib keçməyin: Kodun "iylənməsi" nədir? (Kod nümunələri ilə)

İştirakçılar
Mövzunu Açan #0
Salam dostlar, Mast.az əhli!

Bu gün bir az o məşhur "Spagetti kod" bəlasından danışmaq istəyirəm. Hamımız yaşamışıq: bir kiçik düzəliş etmək istəyirsən, bütün sayt "404" və ya ağ səhifə verir. Bunun əsas səbəbi kodun təmiz olmaması, yəni proqramçı dili ilə desək "Code Smells" (Kodun iylənməsi) məsələsidir.

Gəlin real nümunələrlə baxaq, görün siz də hardasa bu səhvləri etmisinizmi?

1. Dəyişən adları: "Nə idi bu x?"

Yeni başlayanda (hətta bəzən tənbəllik edəndə) dəyişənlərə mənasız adlar veririk. Amma 3 ay sonra həmin koda qayıdanda sanki başqasının koduna baxırıq.

PİS KOD (Dərdimizi kimə deyək?):

CODE
123456789101112

// Bu nəyin endirimidir? Kim bilir...

function calc(p, d) {

return p - (p * (d / 100));

}

let res = calc(100, 10);



YAXŞI KOD (İnsan dili):

CODE
123456789101112

function calculateProductDiscount(price, discountPercentage) {

const discountAmount = price * (discountPercentage / 100);

return price - discountAmount;

}

let finalPrice = calculateProductDiscount(100, 10);



Fərqi görürsünüz? İkinci kodu 2 il sonra oxuyanda beyniniz yanmayacaq.

2. "İsveç bıçağı" funksiyalar

Bəzən bir funksiyaya o qədər yük yükləyirik ki, yazıq nə edəcəyini çaşır. Bir funksiya həm məlumatı hesablamalı, həm bazaya yazmalı, həm də mail göndərməli deyil.

PİS KOD:

CODE
12345678910111213141516171819202122

function handleOrder($order) {

// Hesabla

$total = $order->price * $order->qty;

// Bazaya yaz

$db->query("INSERT INTO orders...");

// Mail göndər

mail($order->email, "Sifarişiniz alındı", "Mətn...");

// Ekrana yazdır

echo "Uğurlu əməliyyat!";

}



Burada sabah bir gün mail sistemini dəyişmək istəsəniz, bütün funksiyanı alt-üst etməli olacaqsınız. Hər işin öz funksiyası olmalıdır.

3. "If-Else" cəhənnəmi (Pyramid of Doom)

İç-içə yazılmış 5-6 dənə if şərti... Bax bu, həqiqi spagettidir. Google botları belə bu kodun içində azır (zarafat edirəm, amma performans cəhətdən həqiqətən ziyandır).

PİS KOD:

CODE
12345678910111213141516

if (user) {

if (user.isActive) {

if (user.hasPermission) {

// Əməliyyat...

}

}

}



YAXŞI KOD (Early Return - Erkan Qayıdış):

CODE
123456

if (!user || !user.isActive || !user.hasPermission) return;

// Əməliyyat burda təmiz şəkildə davam edir...



Bu mövzunun SEO-ya nə dəxli var?

Dostlar, təmiz kod təkcə proqramçılar üçün deyil. Google-un Core Web Vitals alqoritmi saytın render sürətinə (LCP) və interaktivliyinə (FID) baxır. Şişirdilmiş, lazımsız dövrlərlə (loops) dolu JavaScript və ya ağır backend kodları serveri yorur. Server gec cavab verəndə isə Google sizi axtarış nəticələrində geriyə atır.

Yəni, Təmiz Kod = Sürətli Sayt = SEO Dostu Struktur.


Gəlin müzakirə edək:

  1. Sizin də arxivinizdə "açmağa qorxduğunuz" o məşhur layihəniz varmı?
  2. Kod yazarkən ən çox hansı "pis vərdişiniz" var?
  3. Sizcə "Clean Code" kitabını oxumaq mütləqdir, yoxsa təcrübə hər şeydir?
Təcrübələrinizi və (varsa) o "iylənmiş" kod nümunələrinizi bölüşün, birlikdə öyrənək! :)
WEBMASTER
Həyatın mənası bir nöqtə-vergüldə gizlidir.
« every fix is a win »
#DevMood
#1
<button onclick="history.back()">⬅</button>
<button onclick="history.forward()">➡</button>

- dan.sa

<div class="nav-buttons">
<button onclick="goBack()">⬅ Geri</button>
<button onclick="goForward()">İrəli ➡</button>
</div>

<script>
function goBack() {
window.history.back();
}
function goForward() {
window.history.forward();
}
</script>
#2
// hesablayır
function h(a, b) {
return a * b;
}

-dan.sa

// Məhsulun ümumi qiymətini hesablayır
function calculateTotalPrice(price, quantity) {
return price * quantity;
}

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi