Es gribu būt pats labākais, kā vēl nekad nebija… - 1. daļa

Labi, ka jūs, iespējams, esat šeit, jo vēlaties uzzināt vairāk par programmatūras inženierijas pasauli, vai nu esat jauns kodēšanas jomā un vai vēlaties zināt, kādi pasākumi jums jāveic, vai varbūt jums ir kāda pieredze skolā vai tiešsaistes kurss, bet jūs esat iestrēdzis pēc tam, kad esat iemācījies sintakse un nezināt, no kurienes doties. Nu visi ir laipni gaidīti.

Šis raksts parādīs pareizos soļus, kas jāveic, lai kļūtu par lielisku programmatūras izstrādātāju, balstoties uz manu pieredzi un izpratni, mēģinot sadalīt katru soli pa ceļu, kas, manuprāt, ir vissvarīgākais lūzuma punkts, lai izveidotu stipru pamatu ienākt kodēšanas pasaulē. Es izcelšu visbiežāk pieļautās kļūdas, kuras esmu redzējis, kā citi pieļauj, un varbūt pat dažas savas kļūdas (⊙.⊙).

“Ceļojums, lai būtu labākais, sākas ar vienu soli, bet ne visi var veikt visus vajadzīgos pasākumus, lai sasniegtu virsotni. Uz panākumiem nav saīsnes, katrs spertais solis ir jauna pieredze, kas iegūta, tā ir nenovērtējama, un to nevar pārdot, lai panāktu vieglāku izeju. Lai sasniegtu jaunus augstumus, ir jācīnās un jāsaglabājas. Izstrādātājs ir tik labs, cik daudz problēmu viņam ir radušās un atrisinātas ”

Lai arī šī rokasgrāmata būs visefektīvākā studentiem viņu ILGĀS programmatūras inženierijas brauciena sākumā, es ceru, ka tā sniegs vērtīgu ieskatu arī citiem, kuri varētu būt iestrēguši. Neatkarīgi no tā, vai tas ir viņu pirmajā gadā, otrajā gadā vai pat ja viņi karjerā turpina iet uz priekšu.

Nesteidzoties, spersim pirmo soli kopā ...

Java - vienkāršāka C ++

Vidusskolā vai koledžā Java var piedāvāt CS1 (Computer Science 1) un CS2. Šī ir ļoti pretrunīgi vērtēta pirmā valoda neskaitāmu iemeslu dēļ, bet es uzskatu, ka tā pie tā nāk. Javas iemācīšanās kā jūsu pirmais pasaules vārtejs kodu pasaulē ir kā putns, kurš tiek izmests no ligzdas, lai iemācītos lidot, vai arī, pirmo reizi braucot ar velosipēdu, bez apmācības riteņiem, jums ir jāsaņem savainojums. Bet vēlāk jums būs pateicība, ka jūs jau agri pieradāt pie sāpēm, jo ​​Java ļoti agrīnā stadijā ātri ievieš un iesakņo dažādus jēdzienus, piemēram,

  • Objekti, primitīvi, iekavas un iekavas gan kvadrātveida, gan cirtaini
  • Tā ir ļoti sīka un statiski drukāta valoda
  • Ierakstīsit daudz atkārtotu lietu, kas atkārtos iesācēju rakstīšanas ātrumu un kompaktus atslēgvārdus, piemēram, virkni un int.

Ļoti iesaku Čārlza E. Kuka zilo pelikānu, tas ir pilnīgi atšķirīgs no jebkura cita garlaicīga un garlaicīga Java mācību grāmatas ar garu ievadu par datorzinātņu vēsturi un tās mērķi vai autoriem, un tas nonāk tieši vietā ar vienkāršu sveicienu pasaules piemērs, uz kura balstās vienkāršāki vingrinājumi.

Vai vēlaties paņemt sev kopiju? Šodien iegūstiet cieto segumu no Amazon un sāciet veikt vingrinājumus, izmantojot bezmaksas BlueJ IDE

Saite uz grāmatu: https://amzn.to/2Y0qzaO

Saite uz BlueJ IDE: https://www.bluej.org/

Atpakaļ uz Java noteikti ir daudz grūtāk iemācīties nekā tādu vienkāršu valodu kā Python, taču, tā kā nākotnē jums ir lielākas grūtības, pārejot no Java uz citu valodu, piemēram, Python vai JavaScript, to būs daudz vieglāk uzņemt. un saprotiet, kopš jūs nonākat grūtībās, salīdzinot ar pāreju no Python uz Java, kas ir neticami grūtākas izmaiņas, jo jums jāmaina viss domāšanas process.

Tātad, ja jūs darāt kādu Java, kādi ir galvenie kontrolpunkti, kas jāzina, kad esat gatavs vairāk? Kā jūs zināt, kad jūs varat izlīdzināties?

  1. Ikviens sāk 1. līmeni. Šeit jūs uzzināsit par primitīviem elementiem, piemēram, ints, dubultspēle, Būla un arī Stīgas. Jūs varat izdrukāt tekstu uz ekrāna, izdrukāt vienādojumus, ievadīt dubultā un otrādi, salikt virknes un skaitļus un vienkārši nodarboties ar pamata mijiedarbību. Mans šeit sniegtais padoms - mēģiniet izveidot Chick-Fill-A vai (Ievadiet šeit iecienītākā restorāna nosaukumu) kalkulatoru, kurā jūs izdrukājat skaistu apsveikuma ekrānu, parādīsit klientu pasūtījumus par izgatavotajām vērtībām un kopsummu ar nodokļiem.
  2. 2. līmenis ir tas, kur viss kļūst jautri. Šeit mēs ieviešam, ja paziņojumi cilpām, kamēr cilpas, un skenera ievade no lietotāja, lai padarītu sarežģītākas, bet joprojām ļoti vienkāršas programmas, piemēram, Magic 8 Ball, kas uzdod 8 jautājumus, reāls restorānu kalkulators, kas ņem vērā lietotāja ievadi, vienkāršs Teksta spēle, kurā cilpas un ievade tiek izmantota, lai atbildētu uz pamata jautājumiem. Šis ir viens no vissvarīgākajiem līmeņiem līdz šim, tāpēc tiešām veltiet laiku, lai saprastu, cik spēcīgi ir apgalvojumi un cilpas, jo tieši tie ir datorzinātnes patiesie pamati. Ak, neaizmirstiet metodes, pirms pārejat uz nākamo līmeni, mēģiniet noskaidrot, kādas ir metodes un kā tās izmantot, tas jūsu dzīvi padarīs daudz vieglāku.
  3. Es domāju, ka lielākā daļa cilvēku nonāk kodēšanā, jo daži no viņiem vēlas izveidot nākamo lielo lietotni vai videospēli, vai arī kaut ko jautru un interaktīvu. Ņemot vērā to, ka 3. līmenis ir pirmais solis ceļā uz šī mērķa sasniegšanu, kad galvenais etalons ir Hangman teksta versijas izveidošana, tagad pat pieredzējušiem izstrādātājiem es vēlos, lai visi izmēģinātu to, neizmantojot nekādus objektus, bet tikai virknes, tāpēc tas nozīmē, ka nav masīvu vai ArrayLists vai String.split (“”). Šajā sākuma posmā koda optimizēšanai vai veiktspējai pat nevajadzētu ienākt prātā. Viena no lielākajām kļūdām, ko redzu, ka cilvēki pieļauj, ir par zemu novērtējusi Stīgu spēku un lai cik vērtīgi viņi būtu, jūs varat godīgi darīt jebko un visu, izmantojot Stīgas, un debesis ir robeža. Esiet radošs, domājiet ārpus lodziņa, pierakstiet savas idejas uz papīra, nevis tikai kodējiet, katru soli sadaliet mazā un vienkāršā loģiski, pēc tam mēģiniet to kodēt.
  4. Ja esat tik tālu nonācis, lielisks darbs! Palutiniet sevi uz muguras vai, vēl labāk, lēkt augšup un lejup, kliedzot priekā, vienīgajiem izdzīvojušajiem, kuriem līdz šim brīdim ir bijusi kareivja, jūs esat godīgi paveikuši patiešām labi, taču ceļojums ir tikko sācies. Pēc Hangman, tagad ir pienācis laiks uzzināt par datu struktūrām, kuras Java var piedāvāt, galvenokārt, Masīvi, ArrayLists, HashMaps, Komplekti, Skursteņi, Rindas, LinkedLists un Koki. Protams, ne visi uzreiz, 4. līmenis ir domāts tikai masīvu un ArrayLists apgūšanai. Mēģiniet izveidot nelielu pārtikas preču veikalu simulāciju, kurā jūs varat ievadīt dažādas numuru komandas, lai pievienotu vai noņemtu preces vai nomainītu tās no iepirkumu groza.
  5. Tagad, kad esat iemācījies masīva un masīvu sarakstu burvību, dodieties atpakaļ un padariet bende daudz labāku. Bet varbūt vispirms uzziniet par komplektiem, un tas varētu atvieglot dažas lietas.
  6. Uzziniet, kā izmantot skenerus, lai lasītu teksta failus, pēc tam saskaitiet, cik reizes katrs burts tiek parādīts pirmais. UZMANĪBA: LIETOT HASH MAP. Izdrukājiet katra burta numuru lielā grāmatā, piemēram, Mobijs Diks vai Tales of Two Cities, sekojiet tam, cik ilgs laiks paies, tas var aizņemt kādu laiku, bet jūs varat meklēt optimizācijas, lai padarītu šo procesu ātrāku. Ja jūsu kods prasa stundas, jūs darāt kaut ko ļoti nepareizi.
  7. Skursteņi, rindas, saistītie saraksti, koki ir visas lietas, kuras jūs beidzot apgūsit datu struktūru klasē, tāpēc pārāk neuztraucieties par to, tas nav tik svarīgi, lai izveidotu jautru programmu. Šeit es vēlos, lai jūs uzzinātu par API, uzzinātu par Maven, tas ir, kā jūs izmantojat kodu, kuru kāds cits ir ierakstījis jūsu lietojumprogrammā, lai izdarītu kaut ko nozīmīgu. Šis ir arī lielisks laiks, lai apstātos un iemācītos Github pamatus, jo jūs to lietosit visu atlikušo dzīvi. Mēģiniet izvilkt kādu ziņu plūsmu no Reddit vai ieskatieties JavaFX, lai darbvirsmas lietojumprogrammas izveidotu ar lietotāja interfeisu.
  8. Vēl viens absolūti nepieciešams katram jaunajam programmētājam ir izveidot spēli. Tagad es nerunāju par kaut ko līdzīgu Call of Duty, pat nedomāju par 3D. Tikai vienkārša 2D spēle, vispirms iegūstot kustību ekrānā, pēc tam varbūt pievienojot dažus ienaidniekus kustībai, šaujot šāviņus un galu galā nokļūstot sānu ritinātājos un platformeros, piemēram, Zelda, Mario vai Pokemon. Lai uzzinātu, kā padarīt tos Java, šī vietne ir absolūti labākā vieta, ko es varu ieteikt ļoti izmantot, kad pirmo reizi mācījos 2D spēles. Viņi ļoti viegli sekot pamācībām, kas attiecas uz pamatiem no paša sākuma. http://zetcode.com/tutorials/javagamestutorial/

Kopš šī brīža jūs esat ieguvis līdzvērtīgu pieredzi, iespējams, 1–2 gadus ilgam Java lietošanā vidusskolā vai koledžā. Ar to ir par maz, lai gan reālam darbam vai pat praksei, jums būs jāzina, kā izveidot savienojumu ar ārējām sistēmām, kā veikt REST API zvanus, kādā līmenī strādāt ar lietotāja saskarni un lasīt rakstīšanu datu bāzē. Jums vajadzētu lepoties ar to, kur atrodaties un kā nokļuvāt šeit, taču nesaticieties. Tagad jūs atrodaties pie reālās sākuma līnijas. Kā daļa no augstākā līmeņa sasniegšanas, kas ir labākais programmatūras inženieris, dabiska Java progresēšana būtu Android lietotņu izstrādes apgūšana, jo Android ir rakstīts Java. Šeit jūs varat izmantot savas apgūtās loģiskās pamatprasmes un savienot tās ar lietotāja saskarni, ar vairāk sensoriem un informāciju, ar internetu un visām iespējām, ko mūsdienās var izmantot tālrunis, - jūsu austeru pasaule.

Šī bija tikai mana ceļveža 1. daļa, lai būtu vislabākā, pievērsiet uzmanību 2. daļai, kurā būs padziļināti apskatīts, kā kļūt par profesionālu android izstrādātāju, sākot darbu pie projektiem un API, ar kuriem strādāt. Nākotnē var būt vai nebūt video sērijas, kas veltītas padziļinātai praktiskas un reālas dzīves kodēšanas piemēriem no Hangman līdz darbvirsmas lietojumprogrammai, izmantojot JavaFX, atstājiet komentārus par to, ko vēlaties redzēt, un kādas integrācijas jūs vēlētos vēlaties paveikt, iespējams, kaut ko ar Spotify?