Osnovna vještina programera koja će vaš kôd učiniti boljim

Osnovna vještina programera koja će vaš kôd učiniti boljim

Predgovor prevoditelja: Nakon što pročitate ovaj članak, mogli biste biti iznenađeni ili čak ljuti. Da, i mi smo bili iznenađeni: autor navodno nikad nije čuo za hijerarhiju u timu, za postavljanje zadataka sa statusom "uradi to brzo i bez obrazloženja". Da, tako je, ovo je malo čudan tekst. Dapače, autor predlaže da programer preuzme ulogu arhitekta sustava - zašto vam je onda potreban arhitekt? No, svi ovi prigovori ne smiju vam zaslijepiti ono glavno - zašto smo ipak uzeli i preveli ovaj tekst. Ne govori o ulogama. Ovaj tekst govori o profesionalnom pristupu i osviještenosti. Istina je da sve dok samo "radite što vam se kaže" bez razmišljanja o značenju svojih radnji, nikada nećete postati veliki programer.

Recite ne nepotrebnom kodu. Sve što trebate učiniti je spojiti tri slova i izgovoriti riječ. Pokušajmo to učiniti zajedno: "Neeeee!"

Ali čekaj. Zašto ovo radimo? Uostalom, glavni zadatak programera je pisanje koda. Ali trebate li napisati bilo koji kôd koji se od vas traži? Ne! “Razumijevanje kada ne treba pisati kod vjerojatno je najvažnija vještina za programera.” Umjetnost čitljivog koda.

Podsjećamo: za sve čitatelje "Habra" - popust od 10 000 rubalja pri upisu na bilo koji tečaj Skillbox koristeći promotivni kod "Habr".

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

Programiranje je umjetnost rješavanja problema. A vi ste majstori ove umjetnosti.
Ponekad, u nastojanju da što prije započnemo s radom, ne razmišljamo ni o čemu drugom nego o dovršavanju zadatka koji je pred nama. A to može uzrokovati još ozbiljnije probleme.

Na što programeri zatvaraju oči?

Sav kôd koji napišete mora biti razumljiv drugim programerima i mora se testirati i otkloniti pogreške.

Ali postoji problem: što god da napišete, to će zakomplicirati vaš softver i vjerojatno unijeti bugove u budućnosti.

Prema Richu Skrentu, šifra je naš neprijatelj. Evo što on piše:

“Kod je loš jer počinje truliti i zahtijeva stalno održavanje. Dodavanje novih značajki često zahtijeva izmjenu starog koda. Što je veći, to je veća vjerojatnost pojave pogreške i potrebno je više vremena za kompajliranje. Drugom programeru treba više vremena da to shvati. A ako je potrebno refaktoriranje, onda će definitivno biti fragmenata 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 znate kada ne treba pisati kod?

Problem je u tome što programeri često preuveličavaju broj značajki koje njihove aplikacije trebaju. Zbog toga mnogi dijelovi koda ostaju nedovršeni ili ih nitko ne koristi, ali kompliciraju aplikaciju.

Morate jasno razumjeti što vaš projekt treba, a što 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 u isto vrijeme postati upravitelj zadataka.

Morate čvrsto reći "ne" prijedlozima za dodavanje značajki koje nisu povezane s glavnim zadatkom aplikacije. Upravo je to trenutak kada postaje jasno da dodatni kod nije potreban.

Nikada nemojte izgubiti fokus svoje aplikacije.

Uvijek se zapitajte:

— Koju bi funkciju sada trebalo implementirati?
— Koji kod trebam napisati?

Preispitajte ideje koje vam padnu na pamet i procijenite prijedloge koji dolaze izvana. Inače, dodatni kod može jednostavno ubiti projekt.

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

Osnovna vještina programera koja će vaš kôd učiniti boljim

Na samom početku staze, programer ima samo dvije ili tri izvorne datoteke. Jednostavno je. Sastavljanje i pokretanje aplikacije zahtijeva minimalno vrijeme; Uvijek je jasno gdje i što tražiti.

Kako se aplikacija širi, pojavljuje se sve više kodnih datoteka. Oni pune katalog, svaki sa stotinama redaka. Da biste sve to ispravno organizirali, morat ćete stvoriti dodatne imenike. Istodobno, sve je teže zapamtiti koje su funkcije odgovorne za što i koji ih postupci uzrokuju; hvatanje grešaka također oduzima više vremena. Upravljanje projektima također postaje sve složenije; nije potreban jedan, već nekoliko programera koji sve prate. Sukladno tome, troškovi, kako novčani tako i vremenski, rastu, a razvojni proces usporava.

Projekt na kraju postaje golem, a dodavanje svake nove značajke iziskuje 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 smijete dodavati dodatni kod, te ste na svaki prijedlog i ideju odgovorili "da". Bili ste slijepi, želja za stvaranjem novih stvari natjerala vas je da zanemarite važne činjenice.

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

To je upravo ono što će se dogoditi ako stalno govorite da. Pokušajte razumjeti kada se kôd ne smije dodati. Uklonite nepotrebne stvari iz projekta - to će vam uvelike olakšati život i produljiti vijek trajanja aplikacije.

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

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

Da, znam da ste tek krenuli putem programera i želite pisati kod. Dobro je, nemojte izgubiti taj prvi dojam, ali nemojte zbog entuzijazma izgubiti iz vida važne čimbenike. Sve smo shvatili metodom pokušaja i pogrešaka. Također ćete griješiti i učiti iz njih. Ali ako možete uč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