Česta pogreška početnika softvera za početnike i kako ih izbjeći

Fotografiju Fancycravea na Unsplash

Bio sam samo mjesec dana svog posla kao programer softvera, još izvan fakulteta. Bio sam zagrijavanje za doprinos svom timu. Nekako sam se uhvatio kako imam vrlo zanimljive misli dok sam prolazio kroz postojeću bazu kodova. Moj je tim gradio ovu bazu kod više mjeseci i godina napora.

Kao svoj prvi zadatak imao sam mali ispravak grešaka koji će mi pomoći u stabilizaciji budućih verzija usluge. Moj tim mi je objasnio arhitekturu usluge i gdje se uklapamo u veliku shemu većeg projekta. Na meni je bilo da otkrijem kôd koji treba dodati / izbrisati ili izmijeniti da bi se ispravio program.

Počeo sam kopati po bazi kodova, od kojih je većina stvorena u posljednje dvije godine. To je zasad naslijeđeni kod. Kako sam ulazio sve dublje i dublje u nju, našao sam se s prilično profanim mislima. Reći da koda nije estetski ugodna, bio bi to blag način. Ovako sam reagirao na bazu kodova svog tima:

Ovo je sranje !!!

Yuck, ovdje ima dvjesto linija.

Ko je napisao ovo sranje!

O Bože, u bloku if-else ima if-else blok.

Ovaj kod je velika dlakava zbrka! eff.

To treba preraditi ispočetka.

Bila sam bijesna. Dok sam se bavio tim razmišljanjima, dio mene se pitao, bi li mogao postojati način da to shvatim? Bilo je nekih stvari za koje nisam znao da su ti stariji dečki iz mog tima koji su napisali većinu ovog koda. Počeo sam otkrivati.

Zgrabio sam seniora u mom timu na brzi razgovor i počeo bacati svoja pitanja na njega.

Iz onoga što sam saznao nakon rasprave za mene je bilo vrlo prosvjetljujuće. Tim je bio svjestan da kod ima nekih problema sa održavanjem. Međutim, postojeća baza kodova bila je onakva kakvom je bila iz nekoliko razloga. Dok mi je dalje objašnjavao te razloge, mogao sam vidjeti zašto ovaj post ima smisla.

Čitajte dalje kako biste pronašli odgovor na pitanje zašto, kada bilo koji programer softvera pitate kvalitetu koda na kojem rade, zadani odgovor je: "Nered je". A također, zašto izgradnju stvari iz temelja nije rješenje u većini slučajeva.

Kod je napisan iz drugog razloga

Većina ljudi koji su novi u razvoju softvera, uključujući mene, misli da je kod napisan za strojeve. Pogrešno. Nada. Napisana je za ljude. Uređaj uopće ne vidi JavaScript kod koji pišete, sve što vide su redoslijedi 0 i 1. I kako se usluga za moj tim razvijala, postojali su stvarni rokovi s rezultatima koji su se morali isporučiti. Programeri softvera već su vrlo mentalno oporezovani. Negdje pod pritiskom da se isporuči, primjena koda radi prioritetno je u odnosu na pisanje super estetski ugodnog koda.

Veliki komad koda lakše je napisati i objasniti osobno programeru osobno, za razliku od preskakanja jedne datoteke u drugu kako bi stvari shvatile. Te odluke tada mogu dugo ostati.

Proizvodni kod provjeren je bitkom

Moj tim dobiva puno izvještaja o incidentima, koji ponekad dovode do kritičnih ispravki programskih pogrešaka u kodu. Pogreška pri rukovanju klauzulom if-else ovdje, pokušaj ulova tamo i odjednom, cijela baza koda porasla je za dlake. Ovako baza koda počinje dobivati ​​messier uprkos najboljim namjerama.

Upravo je to razlog zbog čega je prepisivanje koda odozdo tako naivna ideja. To će rezultirati izbacivanjem svih ispravki programskih pogrešaka i poboljšanja. Oni su se gomilali tijekom mjeseci i godina, a vjerojatno je korisnik imao neki stvarni problem. Programer je mogao potrošiti nekoliko sati da ispravi ove bugove nakon što su prijavljeni.

Ono što djeluje je način

U svijetu poslovanja, gdje bi mogli biti klijenti, ovisno o vašem proizvodu ili usluzi. Nikoga nije briga je li vaš kôd ponovno postavljen na faktor u najboljoj mogućoj mjeri. Svaka linija koda napisana je kako bi se riješio poslovni problem. Zapitajte se, koju će vrijednost stvoriti vaši napori za obnavljanje? Možda ih nema, a oni bi mogli uvesti još bugova. Osim toga, je li najbolje iskoristiti svoje vrijeme?

Protuotrov

Prvi korak je prepoznavanje problema. Problem je u tome što je moj ego mislio da bi mogao učiniti bolji posao od ovih starijih programera koji očito nisu znali napisati kôd razine proizvodnje. To je vrlo naivan način razmišljanja, a već sam dosta puta bio spaljen u prošlosti da ga sad izbjegavam.

Samo priznavanjem prisutnosti svog ega, stječete ogromnu prednost nad njim. Odjednom se nema gdje sakriti. Priznavanje problema je jedno, a rješavanje drugog. Ispod je moj način zaobilaženja ove reakcije trzaja koljena. Ako imate drugačiji način, zapišite to u odjeljku s komentarima.

Postanite znatiželjni

Počnite pitati zašto!

Zašto je ovaj dio koda napisan na ovaj način? Tko je napisao? Je li ta osoba još uvijek oko i mogu li to pitati njemu / njoj. Što ovi momci znaju da ne znam? Koji je problem koji ova značajka rješava?

Većinu puta ćete biti iznenađeni odgovorom.

Razvijte poniznost

Ovo nije težak zadatak. Po svemu sudeći, i dalje imate ogromne količine za učenje bez obzira na to gdje biste se mogli postaviti na ljestvici.

Usvajanje razmišljanja o rastu je ono što mi je omogućilo da se postavim u ispravno stanje uma. Oslobađalo me postavljanje pitanja bez straha da ću izgledati glupo. Kad znate da ne biste trebali znati sve odgovore, ali naučite sve odgovore, postavljanje pitanja postaje samo trivijalnost.

Zaključak

Vrlo je lako misliti da je vaš način pisanja koda najbolji, a svi ostali su grozni. Pitajte troje ljudi o tome kako će podijeliti niz u niz znakova, a svi će vam dati tri različita načina. Vjerojatno su svi podjednako dobri i od njih se sve može naučiti.

Što se tiče koda loše kvalitete, njegovo bacanje definitivno nije rješenje. Poslovniji način bi bio da počnete jesti slona jedan zalogaj i prepravljate svoj put putem koda.