Osnovna vještina programera koja će vaš kod učiniti boljim

Osnovna vještina programera koja će vaš kod učiniti boljim

Predgovor prevodioca: Nakon što pročitate ovaj članak, možda ćete biti iznenađeni ili čak ljuti. Da, i mi smo bili iznenađeni: autor navodno nikada nije čuo za hijerarhiju u timu, za postavljanje zadataka sa statusom „radi brzo i bez obrazloženja“. Da, tako je, ovo je malo čudan tekst. Zaista, autor predlaže da programer preuzme ulogu sistemskog arhitekte - zašto vam je onda potreban arhitekta? Ali sve ove zamjerke ne bi vas trebale zaslijepiti za ono glavno - zašto smo ipak uzeli i preveli ovaj tekst. On ne govori o ulogama. Ovaj tekst govori o profesionalnom pristupu i svijesti. Istina je da sve dok samo "radite ono što vam se kaže" bez razmišljanja o značenju svojih postupaka, nikada nećete postati veliki programer.

Recite ne nepotrebnom kodu. Sve što treba da uradite je da spojite tri slova i izgovorite reč. Hajde da pokušamo da uradimo ovo zajedno: "Neeee!"

Ali čekaj. Zašto ovo radimo? Na kraju krajeva, glavni zadatak programera je pisanje koda. Ali da li treba da napišete bilo koji kod koji se od vas traži? Ne! “Razumijevanje kada ne treba pisati kod je vjerovatno najvažnija vještina za programera.” Umetnost čitljivog koda.

Podsećamo: za sve čitaoce "Habra" - popust od 10 rubalja pri upisu na bilo koji Skillbox kurs koristeći "Habr" promotivni kod.

Skillbox preporučuje: Praktični kurs "Mobile Developer PRO".

Programiranje je umjetnost rješavanja problema. A vi ste majstori ove umjetnosti.
Ponekad, u nastojanju da što prije započnemo posao, ne razmišljamo ni o čemu drugom osim o završetku zadatka. A to može uzrokovati još ozbiljnije probleme.

Na šta programeri zatvaraju oči?

Sav kod koji napišete mora biti razumljiv drugim programerima i mora biti testiran i otklonjen.

Ali postoji problem: šta god da napišete, to će zakomplikovati vaš softver i vjerovatno uvesti greške u budućnosti.

Prema Richu Skrentu, kod je naš neprijatelj. Evo šta on piše:

“Šifra je loša jer počinje da truli i zahtijeva stalno održavanje. Dodavanje novih funkcija često zahtijeva izmjenu starog koda. Što je veći, veća je vjerovatnoća da će se pojaviti greška i više vremena je potrebno za kompajliranje. Drugom programeru treba više vremena da to shvati. A ako je potrebno refaktoriranje, onda će sigurno postojati fragmenti koje vrijedi promijeniti. Veliki kod često znači smanjenu fleksibilnost i funkcionalnost projekta. Jednostavno i elegantno rješenje je brže od složenog koda.”

Kako znati kada ne treba pisati kod?

Problem je u tome što programeri često preuveličavaju broj funkcija koje su potrebne njihovoj aplikaciji. Kao rezultat toga, mnogi dijelovi koda ostaju nedovršeni ili ih niko ne koristi, ali kompliciraju primjenu.

Morate jasno razumjeti šta je vašem projektu potrebno, a šta ne.

Primjer je aplikacija koja rješava samo jedan zadatak - upravljanje e-poštom. U tu svrhu uvedene su dvije funkcije - slanje i primanje pisama. Ne biste trebali očekivati ​​da će upravitelj pošte istovremeno postati upravitelj zadataka.

Morate čvrsto reći „ne“ prijedlozima za dodavanje funkcija koje nisu povezane s glavnim zadatkom aplikacije. To je upravo trenutak kada postaje jasno da dodatni kod nije potreban.

Nikada nemojte izgubiti fokus svoje aplikacije.

Uvijek se zapitajte:

— Koju funkciju sada treba implementirati?
— Koji kod da napišem?

Preispitujte ideje koje vam padaju na pamet i procijenite prijedloge koji dolaze izvana. U suprotnom, dodatni kod može jednostavno ubiti projekat.

Znati kada ne treba dodati nepotrebne stvari pomoći će vam da svoju bazu koda držite pod čvrstom kontrolom.

Osnovna vještina programera koja će vaš kod učiniti boljim

Na samom početku puta, programer ima samo dva ili tri izvorna fajla. To je jednostavno. Sastavljanje i pokretanje aplikacije zahtijeva minimalno vrijeme; Uvijek je jasno gdje i šta tražiti.

Kako se aplikacija širi, pojavljuje se sve više i više kodnih datoteka. Oni pune katalog, svaki sa stotinama redova. Da biste sve ovo pravilno organizirali, morat ćete kreirati dodatne direktorije. Istovremeno, sve je teže zapamtiti koje su funkcije odgovorne za šta i koje radnje ih uzrokuju; hvatanje grešaka takođe oduzima više vremena. Upravljanje projektima također postaje složenije; potrebno je ne jedan, već nekoliko programera da sve prate. Shodno tome, troškovi, kako novčani tako i vremenski, rastu, a razvojni proces usporava.

Projekat na kraju postaje ogroman, a dodavanje svake nove funkcije zahteva sve više truda. Čak i za nešto vrlo beznačajno morate potrošiti nekoliko sati. Ispravljanje postojećih grešaka dovodi do pojave novih, a rokovi za puštanje aplikacije se propuštaju.

Sada se moramo boriti za život projekta. Zašto?

Činjenica je da jednostavno niste razumjeli kada ne treba dodavati dodatni kod, te ste na svaki prijedlog i ideju odgovorili sa "da". Bili ste slijepi, želja za stvaranjem novih stvari natjerala vas je da zanemarite važne činjenice.

Zvuči kao scenario za horor film, zar ne?

To je upravo ono što će se dogoditi ako nastavite da kažete da. Pokušajte shvatiti kada kod ne treba dodati. Uklonite nepotrebne stvari iz projekta - to će vam znatno olakšati život i produžiti vijek trajanja aplikacije.

“Jedan od mojih najproduktivnijih dana bio je kada sam izbrisao 1000 linija koda.”
— Ken Thompson.

Teško je naučiti kada ne pisati kod. Ali to je neophodno.

Da, znam da ste upravo krenuli na put programera i želite da pišete kod. Dobro je, nemojte izgubiti prvi utisak, ali ne gubite iz vida bitne faktore zbog entuzijazma. Sve smo shvatili putem pokušaja i grešaka. Takođe ćete praviti greške i učiti iz njih. Ali ako možete naučiti iz gore navedenog, vaš će rad postati svjesniji.

Nastavite stvarati, ali znajte kada reći ne.

Skillbox preporučuje:

izvor: www.habr.com

Dodajte komentar