Mācīties kodēt? Pirmkārt, iemācieties atrisināt problēmu.

Attēls no Unspalsh

Lielākā daļa no pamācībām, kuras esat lasījis vai skatījies iepriekš, parasti ir viena lieta, barojot ar karotīti.

Tas ir “OK”, lai iemācītos jaunu lietu, bet nav labi, kad jums jāatrisina reāls uzdevums.

Uzdevums parasti ietver mērķa sasniegšanu, pārvarot problēmu. Šis ieraksts atklāj vissvarīgāko “padomu” visiem iesācējiem programmatūras inženieriem.

TL; DR

Vispirms atrisiniet problēmu. Pēc tam uzrakstiet kodu. - Džons Džonsons

Citiem vārdiem sakot, soli pa solim izstrādājiet risinājumu uz papīra. Tad sāciet rakstīt tam kodu. Vispirms neaizraujieties ar kodu un programmatūras dizainu.

Tātad, kas notiek?

Daudzkārt esmu dzirdējis, ka iesācēji un jaunākie programmatūras inženieri saka: “Es varētu sekot apmācībai un domāju, ka saprotu koncepciju. Bet, kad es mēģināju izdarīt līdzīgu lietu sava mājdzīvnieka projektā, es to nevarēju izdarīt. ”

Tas notiek divu iemeslu dēļ.

Pirmkārt, jūs kaut kur pazaudējāt savu domu vilcienu un nevarējāt izveidot ķēdi.

Otrkārt, jūs bijāt tik sapinušies kodā, ka galvenā problēma, kuru mēģinājāt atrisināt, izkrita no uzmanības.

Šī problēma rodas arī programmatūras inženieriem un pat vecākajiem programmatūras inženieriem.

Labi ir tas, ka ar pieredzi jūs zināt, kad apstāties vai ieturēt pārtraukumu. Pēc tam atgriezieties pie problēmas ar citu recepti un ātrāk atrodiet risinājumu.

Daudzi no jums var būt saistīti ar to: jūs stundām ilgi centāties novērst problēmu. Jūs ieturējāt pārtraukumu vai gulējāt pāri tam, un nākamajā sesijā risinājums bija pieejams dažu minūšu laikā.

Tā nav maģija. Tas ir problēmas aplūkojums no cita skatupunkta.

Ilustrēsimies ar piemēru

Jums jāveic kāds uzdevums - piemēram, izveidojiet atmaksu ar maksājumiem.

Jums tiek piešķirta datu bāzes shēma. Šis ir pēdējais uzdevums, un jums jāizveido POST / atmaksas API, kas var izveidot atmaksu un ar to saistītos maksājumus. Datubāzes struktūra ir šāda:

Atmaksai vienmēr ir iemesls, piemēram, “sabojātas preces” vai “novēlota piegāde”.

Jūs varētu apspriest API lietderīgo slodzi ar kādu no komandas dalībniekiem. Jūs varētu vienoties par zemāk norādīto JSON noslodzi:

Parastais scenārijs

Viss, kas iesācējiem programmatūras inženieriem būs jādara, ir sākt skenēt kodu bāzi, ja tāda ir. Viņi nekavējoties sāks rakstīt kādu kodu. Ja ir kāda testēšanas kultūra, varbūt viņi uzraksta kādu automatizētu testa kodu.

Šeit slīd vairums iesācēju un pat daži pieredzējuši programmatūras inženieri. Nerakstiet kodu, kad neesat atrisinājis problēmu.

Piemērots solis

Vispiemērotākais solis ir sēdēt un pa solim atrisināt problēmu uz papīra.

Tāpēc jūs sev uzdodat jautājumu, kas jums jādara. Jūs nākt klajā ar plānu pakāpēm un to grozīt.

Ja jūsu komandā ir kāds vecākais, varat apstiprināt savas darbības un saņemt atsauksmes.

Tas samazinās arī koda pārskatīšanas laiku. Jūs abi jau esat vienojušies par risinājuma veidu.

Tātad, kā to izdarīt

Iepriekš aprakstītais uzdevums ir rakstīt izveides / POST API, kurā var izveidot atmaksas ar maksājumiem.

Katrā atmaksā var būt ne vairāk kā divi maksājumi. Viens no tiem ir “naudas” tips, bet otrs - “kredīts”. Tā var būt arī viena atmaksa, veicot tikai vienu skaidras naudas vai kredīta maksājumu. Šādi es uz papīra būtu uzrakstījis šādus soļus:

  1. Izveidojiet metodi, kā iegūt datus no lietotāja nosūtīta kontroliera
  2. Pārbaudiet visu ievadīto vērtību, atmaksas veidu un iemeslu dēļ.
  3. Ja visas validācijas ir izturējušas, ģenerējiet nejaušu burtu un ciparu numuru, kura garums ir 10 un kura kompensācijas tabulā nav (rekursīvā pārbaude).
  4. Ja validācija neizdodas atbildēt ar atbilstošu validācijas kļūmes ziņojumu, izlemiet par atbildes struktūru
  5. Sāciet transakciju datu bāzē
  6. Ievietojiet atmaksas tabulā ar atmaksu saistītās vērtības refund_nr, iemesls_ iemesls, is_premium_klients.
  7. Kad veiksme ievietota, iegūstiet pēdējā ieliktņa ID
  8. Izmantojot refund_id, maksājuma tabulā ievietojiet ar fk_refund, fk_item, summu, naudas_vērtībām saistītās vērtības
  9. Ja viss noritēja labi, veiciet datu bāzes transakciju
  10. Ja radās kāda problēma, datu bāzes darījuma atcelšana
  11. Atbildiet ar veiksmes vai neveiksmes ziņojumu atkarībā no datubāzes transakcijas panākumiem ar pareizu struktūru
  12. Pieslēdziet kontrolieri un šo metodi

Izpildiet plānu soļos, tagad uzrakstiet kodu

Kad esat izstrādājis soli pa solim plānu, varat sākt rakstīt kodu. Pēc tam jūs varat padziļināti izpētīt metožu nosaukumus, kā iegūt datu bāzes savienojumu un citu informāciju.

Atkarībā no valodas un ietvara jūs varat arī izlemt, kur jāpaliek validācijas kodam.

Jūs pat varētu uzrakstīt testus, ja uzņēmums un kultūra to atbalsta un iedrošina.

Kad jūsu risinājums ir redzams jūsu prātā un jums ir soli pa solim izstrādāts rīcības plāns uz papīra, tagad varat rakstīt kodu.

Jūs pat varat sadalīt detaļas tā, lai to būtu vieglāk pabeigt un savienot.

Piemēram, testēšanas loģika var būt kaut kas tāds, ko var rakstīt atsevišķi un pats pārbaudīt. Tas domā par neatkarīgām detaļām, kuras var savienot kopā, lai izveidotu risinājumu.

Secinājums

Kad esat saskāries ar nākamo uzdevumu, nesāciet rakstīt kodu no sākuma.

Pirmkārt, uztveriet problēmu, pēc tam izstrādājiet risinājumu ar soļiem. Vislabāk to izdarīt prom no ekrāna uz papīra.

Pēc tam uzlabojiet savu risinājumu un pārrunājiet to ar kādu citu. Kad esat apmierināts, pārtulkojiet šo risinājumu kodā. Tas ir nedaudz metodiski, bet ļoti efektīvi.

Kods vienmēr ir risinājums, nevis pats risinājums.

Ja esat tik tālu sasniedzis, lūdzu, atstājiet man dažus “klapsus” :).

Paldies par lasīšanu

Sākotnēji tas tika publicēts vietnē geshan.com.np.