Učite kodirati? Prvo naučite riješiti problem.

Slika iz Unspalsh

Većina udžbenika koje ste do sada čitali ili gledali obično rade jedno, hranjenje žlicom.

Ovo je "u redu" da biste naučili novu stvar, ali nije dobro kada trebate riješiti pravi zadatak.

Zadatak obično uključuje postizanje cilja prevladavanjem problema. Ovaj post otkriva najvažniji „savjet“ za sve softverske inženjere početnike.

TL DR

Prvo riješite problem. Zatim napišite kod. - John Johnson

Drugim riječima, rješenje radite na papiru u koracima. Zatim počnite pisati kod za to. Nemojte se najprije ometati u dizajnu koda i softvera.

Pa, što se događa?

Mnogo puta čujem početnike i mlađe softverske inženjere kako kažu: „Mogao bih slijediti udžbenik i mislio sam da razumijem koncept. Ali kada sam pokušao učiniti sličnu stvar na projektu svog kućnog ljubimca, nisam to mogao učiniti. "

To se događa iz dva razloga.

Prvo, negdje ste izgubili vlak misli i niste uspjeli uspostaviti lanac.

Drugo, toliko ste se zapleli u kodu da je glavni problem koji ste pokušavali riješiti pao iz fokusa.

Ovaj se problem događa i sa softverskim inženjerima, pa čak i starijim softverskim inženjerima.

Dobra stvar je što s iskustvom znate kada se treba zaustaviti ili predahnuti. Zatim se vratite na problem s drugačijim receptom i brže pronađite rješenje.

Mnogi od vas mogu se povezati s tim: satima ste se toliko trudili da popravite problem. Odmorili ste se ili prespavali, a za sljedeću sesiju rješenje je bilo za nekoliko minuta.

Ovo nije magija. Na problem se gleda s druge točke gledišta.

Ilustrirajmo primjerom

Morate izvršiti zadatak - na primjer, stvoriti povrat sredstava s uplatama.

Dobivate shemu baze podataka. Ovo je pomoćni zadatak i morate stvoriti POST / refunds API koji može stvoriti povrat i povezana plaćanja. Struktura baze podataka je sljedeća:

Povrat novca uvijek ima razloga, poput "oštećene robe" ili "kasne isporuke".

Možete raspravljati o korisnom opterećenju API-ja s jednim od članova tima. Možete se složiti sa donjim opterećenjem JSON-a:

Uobičajeni scenarij

Ono što će većina softverskih inženjera za početnike učiniti skeniranje baze koda, ukoliko je postoji. Odmah će početi pisati neki kod. Ako postoji kultura testiranja, možda napišu neki automatizirani testni kod.

Tu klizi većina početnika, pa čak i neki iskusni softverski inženjeri. Ne pišite kôd kada niste riješili problem.

Odgovarajući korak

Najprikladniji korak je sjesti i riješiti problem na papiru u koracima.

Zato se zapitajte što trebate učiniti. Smislite plan u koracima i prilagodite ga.

Ako u svom timu imate nekoga starijeg, možete potvrditi korake i dobiti povratne informacije.

To će također smanjiti vrijeme pregleda koda. Oboje ste se već složili o modalitetu rješenja.

Pa kako to učiniti

Ranije opisani zadatak je napisati API kreiranje / POST gdje se mogu stvoriti povrat sredstava uz plaćanja.

Svaki povrat može imati najviše dvije uplate. Jedno je tipa "gotovina", a drugo tipa "kredita". To može biti i jedan povrat uz samo jedno plaćanje u gotovini ili kreditnom iznosu. Ovako bih na papir napisao sljedeće korake:

  1. Napravite metodu za dobivanje podataka iz kontrolera koji je poslao korisnik
  2. Provjerite sve unose za vrijednosti, vrste povrata i razloge.
  3. Ako prođe sva provjera valjanosti, generirajte slučajni alfanumerički broj duljine 10 koji ne postoji u tablici povrata (rekurzivna provjera)
  4. Ako potvrda ne odgovori ispravnom porukom neuspjeha provjere, odlučite o strukturi odgovora
  5. Pokrenite transakciju baze podataka
  6. Umetnite vrijednosti povrata_nr, razlog_razloga, is_premium_customer u tablicu povrata
  7. Pri uspjehu umetanja, nabavite id posljednjeg umetka
  8. Uz refund_id, u tablicu plaćanja umetnite vrijednosti povezane s plaćanjem fk_refund, fk_item, iznos, is_cash
  9. Ako je sve išlo u redu, izvršite transakciju s bazom podataka
  10. Ako je postojao problem, vratite se natrag u bazu podataka
  11. Odgovorite s porukom o uspjehu ili neuspjehu, ovisno o uspjehu transakcije baze podataka s odgovarajućom strukturom
  12. Povežite kontroler i ovu metodu

Slijedite plan u koracima, sad napišite kod

Nakon što napravite korak po korak plan možete početi pisati kôd. Zatim možete detaljnije upoznati nazive metoda, kako doći do veze s bazom podataka i ostale pojedinosti.

Ovisno o jeziku i okviru također možete odlučiti gdje treba ostati kod za potvrdu.

Čak možete napisati testove ako ih tvrtka i kultura podržavaju i ohrabruju.

Kad vam se rješenje očita u mislima i imate korak-po-korak plan djelovanja na papiru, sada možete napisati kôd.

Dijelove možete čak i rastaviti na način koji će biti lakši za dovršavanje i povezivanje.

Na primjer, logika testiranja može biti nešto što se može napisati zasebno i testirati samostalno. Razmišlja o neovisnim dijelovima koji se mogu povezati zajedno kako bi se dobilo rješenje.

Zaključak

Kad se suočite sa sljedećim zadatkom, ne počinjte pisati kôd s pokreta.

Prvo, riješite problem, a zatim osmislite rješenje s koracima. To je najbolje učiniti daleko od ekrana na papiru.

Zatim pročistite svoje rješenje i razgovarajte s nekim. Prenesite to rješenje u kod. Ovo je pomalo metodično, ali vrlo učinkovito.

Kod je uvijek medij za rješenje, a ne za samo rješenje.

Ako ste stigli toliko daleko, molim vas ostavite mi nekoliko "pljeska" :).

Hvala na čitanju!

Izvorno objavljeno na geshan.com.np.