main-post-cover

    Aydın kod yaza bilmək üçün 3 yanaşma

    Digər
    Code-News
    27.12.2018
    Farid Pardashunas

    #Step IT Academy tərəfindən təqdim olunur  





        Hindistan proqramçısı olan Ravi Şankara Rahanın məqaləsini paylaşırıq sizinlə. O, aydın və asan oxunulan kod yazmağı bacarmaq üçün nə etməli olduğunuzu məsləhət edir. Məqalə bütün yeni başlayan və yazdığı kodu özündən başqa heç kəs başa düşməyən proqramçılar üçündür.
        Asan kod yazmaq çətin deyil. Amma əgər bu kodu başqası da oxuyacaqsa məsələ qəlizləşir. İş burasındadır ki, bu halda həmin kod daha təmiz və aydın olmalıdır.
        Proqramçı elə bir kod yazmalıdır ki, onu dünyanın istənilən yerindən istənilən həmkarı oxuya bilsin. Beləliklə o bir “irsə” çevrilir. Bu çox gözəl səslənsə də reallıq biraz başqadır.
        Yolun başlanğıcında hətta yuxarıda yazılanları başa düşsəm də, o qədər əcayib bir kod yazırdım ki, onu heç cür “yaxşı” adlandırmaq olmazdı. Onu oxumaq və ya interpretasiya eləmək də olmurdu. Daha sonra mən “düzəlişlər” üçün və “kodu canlandırmaq” üçün günlərimi, aylarımı sərf etdim.
        Proqramlaşdırma çətin işdir. İçində “zibil qədər” sətr olan proqram yaradanda təbii ki, səhvləriniz də çox olur. Bəzən onlar katastrofik olurlar, bəzən isə “yola vermək” olur. Amma onun həcmindən asılı olmayaraq axtarış və düzəlişlər vaxt tələb edir. Bəzən hətta öz yazdığınız kodu anlamağınız üçün belə köməyə ehtiyyacınız olur.

    Hərdən sizə...rezin ördək lazım olur.
        Rezin ördək konseptini ilk dəfə Din Parker təklif edib. O bunun barədə öz orator incəsənəti haqqında yazdığı postda danışıb. Parker deyir ki, yaxşı orator olmaq üçün daima nitqin tələffüzü üzərində işləmək lazımdır. Və dinləyicilərə qarşı olan qorxudan qurtulmaq üçün ən yaxşı üsul - öz fikirlərini aydın və birmənalı səsləndirməyi öyrənərək “orator treninqləri” zamanı rezin ördək qarşısında çıxış etməkdir. Bu ördək sizə dinləyicini əvəz edəcək.
         Bir proqramçı kimi, siz öz kodunuzu rezin ördəyə izah etməyi cəhd etməlisiz. Vacib deyil, istəyirsiz ekranın qarşısına qoyun onu, istəyirsinizsə də sadəcə təsəvvürünüzdə canladırın. Kodunuzu başa salmağa başlayanda siz onun üstün və mənfi tərəflərini dərhal anlayırsız. Siz özünüz öz kodunuza kənardan baxmağı öyrənirsiniz.
         Bu təcrübədən yararlananda diqqət etdiyim məqamları deyim sizə. Onlar mənə həqiqətən kömək oldular.
        
    Çox istifadə olunan komponentlərin yaradılması - permanent tələb deyil.
        Çoxları mənimlə razı olmayacaqlar və deyəcəklər ki, çox istifadə olunan komponentlərin yaradılması həmişə lazımlıdır. Deyəcəklər ki, təkrar istifadə olunan komponentləri nə qədər çox yaratsan bir o qədər yaxşıdır. Düzdür, bu, kodun keyfiyyətini qaldırır. Amma bu yalnız ən yaxşı kodu yaratmaq istədikdə işlək olur. Gəlin razılaşaq ki, ən yaxşı kod heç kəsə lazım deyil. Əlbəttdə ki, siz proqram təminatını tələblərə uyğun yaratmalısınız. Siz durmadan layihənizi parlada bilərsiniz və bununla özünüzü ideal hesab edə bilərsiniz. Amma unutmayın: PT müəyyən vaxt çərçivəsi üçün aktualdır, bu isə o deməkdir ki, çatdırmaq üçün tez işləməlisiniz.

    You Aren’t Gonna Need It
        Orijinal ingilis aksiomu belə səslənir “YouArenGonnaNeedİt(YAGNİ)”. Mənim məqaləmdə mənası belədir: ”Alətləri “lazım ola bilər” düşüncəsi ilə yox, həqiqətən lazım olduqda istifadə edin.”
         Bunun 2 səbəbi var.
    • Lazımsız iş ilə məşğul olmayaraq vaxtınıza qənaət edirsiz.
    • “Nəzəri elementlərdən” xilas olunaraq sizin kodunuz daha da minimalist, məntiqli və yaxşı hala gəlir.

    Mümkün qədər asanlaşdıraraq minimuma tərəf gedin.
    “Ekstremal proqramlaşdırmanın” asan kod üçün üç əsas qanunu var.
        Birincisi, yeni funksiya yaratmaq üçün sadəcə “əsas odur işləyir” məntiqi ilə yanaşmaq lazımdır. Şedevr yaratmaq lazım deyil. Superstrukturlardan, innovasiyalardan qaçmalısınız burda. Sadəcə elə yazın ki, işləsin - kifayət edir. Və əlbəttə ki, bu funksiya, Unit Testləməni də keçə bilməlidi.
        İkincisi, sistemi elə redaktor edin ki, kod maksimal dərəcədə asan olsun. Bu kod mümkün qədər təmiz olmalıdır.
        Üçüncüsü, başa düşmək lazımdır ki, biz tez nəticə axtarmırıq. Bizə asan nəticə lazımdır. Misal üçün, qəliz üsulu elə bölmək olar ki, əsas test hissələri işlək qalsın, emal tərəfini isə kənara çıxarıb, onu orada təkmilləşdirmək olar.

    Gələn dəfə ilişəndə ördək ilə yoxlayın.
        Bug və problem axtarışı proqramlaşdırmanın ən çox vaxt aparan hissəsidir. Ona görə də axtarış və bərpa üçün öz texnikalarının yaradılması kritik dərəcədə vacib bir addımdır. Əgər bərpa zamanı hardasa ilişib qalmısınızsa ördəkdən istifadə edin. Heç vacib deyil, istər vanna ördəyi olsun, istərsə də gözü bağlı quldur ördəyi. Əsas odur sizə onunla rahat olsun. Onunla danışın. Suallar verin, probleminizi izah edin. Nəticə sizi təəccübləndirəcək.
    Kris Payn “Proqramlaşdırma artıq bildiyiniz yox, öyrənə biləcəyiniz bir şeydir.”

    Tərcüməçidən:
    Bir əlavəni də istəyirəm özümdən edim.
    Şərhlərdən istifadə etməyin.
    Mən hesab edirəm ki, şərhlər asan kodun başlıca düşmənidirlər. Həsənağa Azad olaraq, bu mənim şəxsi subyektiv fikrimdir. Bu fikirə həm qarşı çıxmaq olar həm də onunla razılaşaraq istifadə edə bilərsiniz. Amma öncə icazə verin izah edim.
    Siz şərhlərdən istifadə etdikdə kodunuzu asan dil ilə izah edirsiniz, lakin sizin izahınızın nə qədər asan olmasını siz özünüz müəyyən edirsiz. Bu halda çətinliyin çarəsi olaraq qoyduğunuz qeyd özü bir digər çətinlik yaratmış ola bilər. Lakin şərh funksiyasının mövcud olmamasını təsəvvür etsəz özünüzü kodu daha asan yazmağa məcbur etmiş olacaqsınız. Bunun üçün daha məntiqli və daha anlaşıqlı dəyişənlər yazacaqsınız. Yaratdığınız funksiyanın adını oxuyan kimi onun nə üçün nəzərdə tutulduğu anlaşılacaq. Kiçik və bəsit bir nümunə verim sizə:

    Şərhlərdən istifadə etdikdə:
    $a = 5; // a burada bananların sayıdır 
    $b = 8; // b burada portağalların sayıdır
    $c = a+b; //c burada bütün meyvələrin sayıdır

    Şərhlərdən istifadə etmədikdə:
    $bananas = 5; 
    $oranges = 8;
    $fruits = $bananas + $oranges;
    Razılaşaq ki, ikinci nümunəni heç proqlamlaşdırma bilməyən və azca ingilis dili bilən insan da anlaya bilər. Birinci nümunə isə Azərbaycan dilini tələb edir və üstəlik daha çox yer tutaraq daha qəliz görünür. Və təbii ki, bu məsləhət spagetty tərəfdarları üçün deyil. Səliqəli yazmaq istəmiyən proqramçının kodunu nə şərh ilə nə də məntiqli dəyişənlər ilə xilas etmək olar.
    Linki kopyala

    Bənzər xəbərlər

    Oxşar xəbərlər