Kodunuzu daha yaxşı edəcək əsas inkişaf etdirici bacarığı

Kodunuzu daha yaxşı edəcək əsas inkişaf etdirici bacarığı

Tərcüməçinin ön sözü: Bu yazını oxuduqdan sonra təəccüblənə və ya hətta əsəbiləşə bilərsiniz. Bəli, biz də təəccübləndik: müəllif komandadakı iyerarxiya, “bunu tez və əsaslandırmadan et” statusu ilə tapşırıqların qoyulması haqqında heç eşitməmişdi. Bəli, düzdür, bu bir az qəribə mətndir. Həqiqətən də, müəllif proqramçının sistem memarı rolunu öz üzərinə götürməsini təklif edir - onda niyə memar lazımdır? Ancaq bütün bu etirazlar sizi əsas məsələyə - niyə biz bu mətni götürüb tərcümə etdiyimizə görə korlamamalıdır. O, rollardan danışmır. Bu mətn peşəkar yanaşma və məlumatlılıq haqqındadır. Həqiqət budur ki, hərəkətlərinizin mənasını düşünmədən sadəcə "sizə deyilənləri etsəniz", heç vaxt böyük proqramçı olmayacaqsınız.

Lazımsız koda yox deyin. Sadəcə üç hərfi bir yerə yığmaq və sözü demək lazımdır. Gəlin bunu birlikdə etməyə çalışaq: "Nooooo!"

Amma gözləyin. Niyə bunu edirik? Axı proqramçının əsas vəzifəsi kod yazmaqdır. Amma sizdən tələb olunan hər hansı kodu yazmağa ehtiyacınız varmı? Yox! "Nə vaxt kod yazmamağı başa düşmək, yəqin ki, bir proqramçı üçün ən vacib bacarıqdır." Oxunan Kod Sənəti.

Xatırladırıq: "Habr" ın bütün oxucuları üçün - "Habr" promosyon kodundan istifadə edərək hər hansı bir Skillbox kursuna yazılarkən 10 000 rubl endirim.

Skillbox tövsiyə edir: Praktik kurs "Mobil Developer PRO".

Proqramlaşdırma problemi həll etmək sənətidir. Siz isə bu sənətin ustasısınız.
Bəzən işə mümkün qədər tez başlamaq üçün əlimizdəki işi başa çatdırmaqdan başqa heç nə düşünmürük. Və bu daha ciddi problemlərə səbəb ola bilər.

Proqramçılar nəyə göz yumurlar?

Yazdığınız bütün kodlar digər tərtibatçılar üçün başa düşülən olmalı və sınaqdan keçirilməli və sazlanmalıdır.

Ancaq bir problem var: nə yazırsınızsa, o, proqram təminatınızı çətinləşdirəcək və yəqin ki, gələcəkdə səhvlər təqdim edəcək.

Rich Skrent-ə görə, kod bizim düşmənimizdir. O yazır:

“Kod pisdir, çünki çürüməyə başlayır və daimi qulluq tələb edir. Yeni funksiyaların əlavə edilməsi çox vaxt köhnə kodun dəyişdirilməsini tələb edir. Nə qədər böyükdürsə, səhvin baş vermə ehtimalı bir o qədər yüksəkdir və tərtib etmək üçün bir o qədər çox vaxt lazımdır. Bunu anlamaq üçün başqa bir tərtibatçıya daha çox vaxt lazımdır. Və əgər refaktorinq lazımdırsa, onda mütləq dəyişdirilməyə dəyər fraqmentlər olacaq. Böyük kod tez-tez layihənin elastikliyini və funksionallığını azaldır. Sadə və zərif həll mürəkkəb koddan daha sürətlidir”.

Nə vaxt kod yazmamağı necə bilirsiniz?

Problem ondadır ki, proqramçılar tez-tez tətbiq ehtiyacları olan xüsusiyyətlərin sayını şişirdirlər. Nəticədə kodun bir çox bölmələri yarımçıq qalır və ya onlardan heç kim istifadə etmir, lakin tətbiqi çətinləşdirir.

Layihənizin nəyə ehtiyacı olduğunu və nəyin olmadığını aydın şəkildə başa düşməlisiniz.

Məsələn, yalnız bir vəzifəni həll edən bir tətbiqdir - e-poçtun idarə edilməsi. Bu məqsədlə iki funksiya - məktubların göndərilməsi və qəbulu tətbiq edilib. Poçt menecerinin eyni zamanda tapşırıq meneceri olmasını gözləməməlisiniz.

Tətbiqin əsas vəzifəsi ilə əlaqəli olmayan xüsusiyyətləri əlavə etmək üçün təkliflərə qəti şəkildə "yox" deməlisiniz. Məhz bu an aydın olur ki, əlavə koda ehtiyac yoxdur.

Tətbiqinizin diqqətini heç vaxt itirməyin.

Həmişə özünüzdən soruşun:

— İndi hansı funksiya həyata keçirilməlidir?
— Hansı kodu yazmalıyam?

Ağlınıza gələn fikirləri sorğulayın və kənardan gələn təklifləri qiymətləndirin. Əks halda, əlavə kod sadəcə layihəni öldürə bilər.

Lazımsız şeyləri nə vaxt əlavə etməməyi bilmək kod bazanızı möhkəm nəzarət altında saxlamağa kömək edəcək.

Kodunuzu daha yaxşı edəcək əsas inkişaf etdirici bacarığı

Yolun ən əvvəlində proqramçı yalnız iki və ya üç mənbə faylına malikdir. Bu sadədir. Tətbiqin tərtib edilməsi və işə salınması minimum vaxt tələb edir; Harada və nə axtarmaq lazım olduğu həmişə aydındır.

Tətbiq genişləndikcə daha çox kod faylı görünür. Kataloqu hər biri yüzlərlə sətirlə doldururlar. Bütün bunları düzgün təşkil etmək üçün əlavə kataloqlar yaratmalı olacaqsınız. Eyni zamanda, hansı funksiyaların nəyə görə məsuliyyət daşıdığını və hansı hərəkətlərin onlara səbəb olduğunu xatırlamaq getdikcə çətinləşir; səhvləri tutmaq da daha çox vaxt aparır. Layihənin idarə edilməsi də daha mürəkkəbləşir; hər şeyi izləmək üçün bir deyil, bir neçə tərtibatçı tələb olunur. Buna uyğun olaraq həm pul, həm də vaxt xərcləri artır, inkişaf prosesi ləngiyir.

Layihə nəhayət nəhəng olur və hər yeni funksiyanın əlavə edilməsi getdikcə daha çox səy tələb edir. Hətta çox əhəmiyyətsiz bir şey üçün bir neçə saat sərf etməlisiniz. Mövcud səhvlərin düzəldilməsi yenilərinin yaranmasına gətirib çıxarır və ərizələrin buraxılması üçün son tarixlər buraxılır.

İndi biz layihənin həyatı üçün mübarizə aparmalıyıq. Niyə?

Fakt budur ki, siz sadəcə olaraq nə vaxt əlavə kod əlavə etməməyiniz lazım olduğunu başa düşmədiniz və hər təklifə və fikrə “bəli” cavabını verdiniz. Siz kor idiniz, yeni şeylər yaratmaq istəyi sizi vacib faktlara məhəl qoymamağa məcbur etdi.

Qorxu filmi ssenarisi kimi səslənir, elə deyilmi?

Davamlı olaraq “hə” desəniz, baş verəcək şey budur. Kodun nə vaxt əlavə edilməməsi lazım olduğunu anlamağa çalışın. Layihədən lazımsız şeyləri çıxarın - bu, həyatınızı xeyli asanlaşdıracaq və tətbiqin ömrünü uzadar.

"Ən məhsuldar günlərimdən biri 1000 sətir kodu sildiyim vaxt olub."
- Ken Tompson.

Nə vaxt kod yazmamağı öyrənmək çətindir. Amma bu lazımdır.

Bəli, bilirəm ki, siz bir developer yoluna yenicə qədəm qoymusunuz və kod yazmaq istəyirsiniz. Yaxşıdır, ilk təəssüratı itirmə, amma həvəsdən ötrü vacib amilləri də gözdən qaçırma. Biz hər şeyi sınaq və səhv yolu ilə dərk etdik. Siz də səhvlər edəcək və onlardan dərs alacaqsınız. Ancaq yuxarıdakılardan öyrənə bilsəniz, işiniz daha şüurlu olacaq.

Yaratmağa davam edin, amma nə vaxt yox deyəcəyinizi bilin.

Skillbox tövsiyə edir:

Mənbə: www.habr.com

Добавить комментарий