Patarimai, kaip rašyti prižiūrimą kodą

Patarimai, kaip rašyti prižiūrimą kodą

Kodo rašymas nėra vien tik programos „paleidimas“. Praktiškai didelė programinės įrangos kūrimo laiko dalis skiriama esamo kodo – savo ar kažkieno kito – skaitymui, tobulinimui ir kūrimui. Todėl gebėjimas rašyti lengvai prižiūrimą kodą yra labai svarbus bet kurio programuotojo įgūdis. Lengvai prižiūrimas kodas sumažina priežiūros išlaidas, pagreitina funkcijų pridėjimą, sumažina klaidų skaičių ir padidina komandos bendradarbiavimo efektyvumą. Štai keletas praktinių patarimų, kaip rašyti švarų, aiškų ir patvarų kodą.

1. Teikite pirmenybę skaitomumui, o ne „išmanumui“
Pernelyg „išmanų“ kodą dažnai sunku suprasti. Pavyzdžiui, labai glaustos kodo eilutės parašymas gali atrodyti elegantiškai, bet perskaičius jį pakartotinai, jis gali būti painus. Rinkitės aiškų sprendimą, net jei jis būtų šiek tiek ilgesnis. Įskaitomumas yra investicija: kodą galite parašyti tik vieną kartą, bet perskaitysite jį daug kartų.

Pavyzdžiui, užuot įdėję kelias operacijas į vieną išraišką, atskirkite jas į veiksmus su prasmingais kintamųjų pavadinimais. Tai padeda skaitytojui suprasti programos tikslą nespėliojant.

2. Naudokite aiškius ir nuoseklius pavadinimus
Kintamųjų, funkcijų ir klasių pavadinimai yra „pirmoji dokumentacijos eilutė“ jūsų kodui. Geri pavadinimai turėtų apibūdinti jų vaidmenį ar paskirtį, o ne tik duomenų formatą. Pavyzdžiui, `userList` yra informatyvesnis nei `ul`, o `calculateTotalPrice()` yra aiškesnis nei `ctp()`.

Be aiškumo, pavadinimai taip pat turėtų būti nuoseklūs. Jei kintamiesiems naudojate „camelCase“, laikykitės jos visame projekte. Klasėms naudokite „PascalCase“, jei tai jūsų pageidaujama kalbos konvencija. Nuoseklumas suteikia kodui vienodumo pojūtį ir sumažina protinį krūvį skaitant.

3. Taikykite „vienos atsakomybės“ principą
Viena iš pagrindinių priežasčių, kodėl kodą sunku prižiūrėti, yra funkcijos arba klasės, kurios atlieka per daug užduočių. Vienos atsakomybės principas teigia, kad kodo vienetas turėtų turėti tik vieną pagrindinę atsakomybę. Per ilga funkcija paprastai yra ženklas, kad ją reikia suskaidyti.

SKAITYTI  Skirtumas tarp virtualizacijos ir konteinerizavimo

Pavyzdžiui, „atsiskaitymo proceso“ funkciją, kuri vienu metu patvirtina įvestį, apskaičiuoja kainas, susisiekia su mokėjimo šliuzu ir siunčia el. laiškus, būtų sunku išbandyti ir sunku pakeisti. Suskaidžius ją į atskiras funkcijas (patvirtinimas, skaičiavimas, mokėjimas, pranešimas), galite keisti vieną dalį nesugadindami kitų.

4. Venkite dubliavimo (DRY), bet nepersistenkite.
DRY (angl. Don't Repeat Yourself, kitaip tariant, nekartokite savęs) yra svarbus principas: jei tą patį kodo bloką nukopijuosite kelis kartus, nedidelis pakeitimas pareikalaus viską redaguoti. Tai yra klaidų tikimybė. Sprendimas – išskirti pasikartojančią logiką į funkciją arba modulį.

Tačiau svarbu nepamiršti, kad per didelio dubliavimo vengimas taip pat gali pakenkti skaitomumui. Jei dvi kodo dalys atrodo panašios, bet iš tikrųjų turi skirtingus kontekstus, priverstinis „abstrakcijos“ taikymas gali padaryti kodą sudėtingesnį. Raskite pusiausvyrą: pertvarkykite kodą, kai dubliavimas yra tikrai prasmingas ir turi potencialo keistis kartu.

5. Sukurkite tvarkingą projekto struktūrą
Aiški aplankų struktūra palengvina priežiūrą. Grupuokite failus pagal funkciją ar modulį, o ne tik pagal failo tipą, ypač dideliuose projektuose. Gera struktūra leidžia naujokams lengviau suprasti projekto architektūrą.

Pavyzdžiui, užuot visus vartotojo sąsajos komponentus sudėję į vieną didelį aplanką, galite juos suskirstyti pagal funkcijas: `auth/`, `profile/`, `checkout/` ir pan. Toks metodas padeda projektui plėstis jam augant.

6. Sumažinkite sudėtingumą ir užtikrinkite lengvai suprantamą loginę eigą.
Kodą, kuriame gausu įterptųjų „if-else“ sakinių, daugybės sąlygų ir specialių išimčių, dažnai sunku prižiūrėti. Stenkitės supaprastinti savo logiką. Galite naudoti tokius metodus kaip ankstyvas grąžinimas, kad sumažintumėte įterptųjų skaičių, arba sudėtingą logiką perkelti į mažas funkcijas, kurias galima tinkamai pavadinti.

Jei funkcija turi per daug parametrų, tai taip pat rodo sudėtingumą. Apsvarstykite galimybę naudoti konfigūracijos objektą (arba duomenų struktūrą), kad geriau organizuotumėte parametrus ir juos būtų lengviau išplėsti.

SKAITYTI  Kaip veikia mašininio mokymosi algoritmai

7. Rašykite tikslius komentarus
Komentarai nepakeičia aiškaus kodo. Jei reikia paaiškinti, „ką kodas daro“, jį tikriausiai reikia padaryti aiškesnį. Tačiau komentarai vis tiek naudingi paaiškinant, „kodėl“ kažkas daroma, ypač jei yra projektavimo sprendimų, sistemos apribojimų ar konkrečių verslo priežasčių.

Gerų komentarų pavyzdžiai: paaiškinimas, kodėl naudojamas konkretus algoritmas dėl našumo apribojimų arba kodėl patvirtinimo taisyklė atrodo keista, nes ji atitinka reglamentą. Tokiu būdu kiti „nesutvarkys“ kodo ir nesugadins svarbios logikos.

8. Naudokite kodo formatavimą ir stiliaus vadovus
Nuoseklus formatavimas suteikia kodui profesionalumo ir lengvumo skaityti. Jei įmanoma, naudokite automatinius formatavimo įrankius (pvz., „ESLint + Prettier“, skirtą „JavaScript“, „Black“, skirtą „Python“, arba „gofmt“, skirtą „Go“). Naudodami šiuos įrankius, komandoms nereikia rūpintis tarpais ir įtraukomis, nes viskas tvarkoma automatiškai.

Stiliaus vadovai taip pat padeda: ar naudoti viengubas, ar dvigubas kabutes, kaip pavadinti failus, kada nutraukti ilgas eilutes ir pan. Tokie maži standartai ilgainiui gali turėti didelės įtakos.

9. Rašykite testus, kad išlaikytumėte pasitikėjimą refaktoravimo metu.
Lengvai prižiūrimas kodas yra ne tik švarus, bet ir saugus keisti. Automatiniai testai (vienetų testai, integracijos testai) garantuoja, kad jūsų pakeitimai nepažeis nusistovėjusio elgesio. Be testų žmonės linkę bijoti tobulinti kodą dėl neaptiktų klaidų rizikos.

Pradėkite nuo svarbiausių skyrių: kainų skaičiavimo funkcijų, nuolaidų taisyklių, patvirtinimo arba dažnai keičiamų modulių. Laikui bėgant, testų aprėptis didės ir užtikrins patikimą apsaugą nuo regresijų.

10. Reguliariai ir išmatuojamai atlikite refaktoringą
Priežiūra yra nuolatinis procesas. Refaktoravimas nereiškia „visko perrašymo“, o nedidelių patobulinimų, kurie pagerina kodo kokybę nekeičiant jo veikimo. Suplanuokite refaktoravimą, kai paliečiate kodo dalį: šiek tiek sutvarkote, pataisote pavadinimus, suskaidote per ilgą funkciją arba pašalinate neveikiantį kodą.

SKAITYTI  Skaitmeninės rinkodaros strategijos e. prekybos įmonėms

Maži, reguliarūs pertvarkymai yra saugesni nei dideli, reti. Ir visada užtikrinkite tinkamą testavimą arba bent jau patikrinimą prieš ir po pakeitimų.

11. Dokumentuokite svarbius sprendimus
Be kodo komentarų, geri projektai paprastai turi glaustą dokumentaciją: kaip paleisti programą, kaip ją sukurti, kaip konfigūruoti aplinką ir aukšto lygio architektūros paaiškinimą. Ši dokumentacija nebūtinai turi būti išsami, tačiau ji turėtų būti tiksli ir lengvai randama. Gerai prižiūrimas failas, pvz., „README.md“, gali sutaupyti daug laiko priimant naujus narius.

Jei reikia priimti esminį techninį sprendimą (pvz., pasirinkti konkrečią duomenų bazę, architektūros modelį ar integracijos apribojimą), dokumentuokite jo pagrindimą. Tai padės komandai suprasti kontekstą ir išvengti tos pačios diskusijos kartojimo.

Uždarymas
Tinkamai prižiūrimas kodas yra gerų įpročių rezultatas: aiškus rašymas, atsakomybės skaidymas, nuoseklumo palaikymas, sudėtingumo mažinimas ir pakeitimų apsauga testais. Nė vienas kodas nėra tobulas, tačiau kiekvienas projektas gali nuolat tobulėti, jei komanda yra įsipareigojusi kokybei. Įgyvendindami aukščiau pateiktus patarimus, būsite geriau pasirengę klestėti – ne tik šiandien, bet ir ateinančiais mėnesiais bei metais.

Palikite komentarą