Back to CSR

Kaip programuoti - įvadas

Originalus straipsnis: https://personal.utdallas.edu/~jxc064000/HowToProgram.html

Autorius: John Cole

Girdžiu tavo mintis. Tu galvoji: „Aš jau moku programuoti.“ Žinoma, kad moki, kitaip neskaitytum šio teksto. Bet pakentėk, nes tai, kas bus toliau, padės tau tapti geresniu programuotoju.

Pirmiausia – projektavimas, projektavimas, projektavimas. Išsamiai apgalvok, ką tiksliai nori, kad programa darytų, net jei reikalavimai yra aiškiai išdėstyti užduotyje. Įsitikinkite, kad jūsų klasės atlieka tik vieną dalyką ir daro jį gerai. Padarykite savo funkcijas dar konkretesnes. Neatskleiskite privačių metodų ar savybių. Žinoma.

Žinau, kad CS1200 kurse mes mokome, kad pirmiausia reikia atlikti didelės rizikos užduotis. Tai tiesa dideliuose projektuose, bet namų darbams pabandykite kitokį požiūrį. Jei nežinote, kaip parašyti visą programą, parašykite tas dalis, kurias lengvai suprantate. Ar jūsų pagrindinė programa turi paprašyti vartotojo nurodyti failo pavadinimą? Parašykite tai. Ar jūsų programa turi išspausdinti matricos turinį? Parašykite tai. Pastebėsite, kad rašydami tas dalis, kurias galite lengvai užkoduoti, taip pat galėsite užpildyti tas dalis, kurių nesuprantate.

Antra, rašydami funkciją, prieš kompiliuodami programą peržiūrėkite ją eilutė po eilutės. Be kita ko, atlikite šiuos veiksmus:

  • Pirmiausia parašykite komentarus, apibūdinančius, ką funkcija daro ir kokie yra įvesties bei išvesties duomenys. Jie padės jums rašyti kodą.

  • Įsitikinkite, kad funkcija turi tik vieną grįžimo būdą.

  • Įsitikinkite, kad jei atidarėte failą, jį uždarėte.

  • Peržiūrėkite kiekvieną ciklą, kiekvieną teiginį ir įsitikinkite, kad jie veikia taip, kaip norite. Įsitikinkite, kad ciklas gali baigtis.

  • Jei teiginys gali sukelti klaidą, įsitikinkite, kad turite „try/catch“ blokus.

  • Jei cikle naudojate kintamuosius, įsitikinkite, kad juos inicijavote už ciklo ribų.

Tai gali būti netikėtai sunku, kai rašote kodą.

Trečia – „geltonojo lapelio“ metodas. Paimkite užrašų bloknotą ir rašiklį, tada atlikite šiuos veiksmus:

  1. Paleiskite programą su derintoju ir pradėkite tikrinti kiekvieną funkciją. Elkitės metodiškai. Išsamiai patikrinkite vieną dalį, prieš pereidami prie kitos.

  2. Kai susidursite su problema, užrašykite ją ant geltono lapelio. Aš paprastai problemas sunumeruoju.

  3. Raskite kuo daugiau problemų, naudodami debuggerį, kad galėtumėte apeiti kliūtis ir nereikėtų perkompiliuoti, norint tęsti testavimą.

  4. Kai pasieksite tašką, kuriame nebegalėsite tęsti testavimo, arba turėsite daugiau nei 10 problemų, sustokite, ištaisykite kiekvieną iš jų ir pažymėkite varnele šalia, kad nurodytumėte, jog manote, kad ją ištaisėte.

  5. Išbandykite dar kartą, kad įsitikintumėte, jog iš tikrųjų viską ištaisėte. Kai nuspręsite, kad problema ištaisyta, išbraukite ją iš sąrašo. Jei ji neištaisyta, palikite ją. Kai rasite naujų problemų, įtraukite jas į sąrašo pabaigą.

  6. Kartokite procesą, kol neberasite jokių problemų.

Anksčiau išdėstyti punktai ir toliau pateiktos pastabos grindžiamos ilgamete patirtimi rašant gamybinį kodą. Nesistengiu teigti, kad šios idėjos yra mano pačio; jas galima rasti daugumoje programinės įrangos inžinerijos knygų. Tai tiesiog sveikas protas.

  • Problemos ištaisymo sąnaudos smarkiai didėja, praėjus laiko nuo pradinio kodo parašymo. Geriausia iš viso išvengti klaidų – tai pasiekiama tinkamai projektuojant ir tikrinant kodą.

  • Kiekvieną kartą redaguodami programą rizikuojate įvesti daugiau klaidų. Todėl ribokite redagavimo kartų skaičių.

  • Paprastai laiko atžvilgiu ištaisyti dvi problemas per vieną redagavimo sesiją kainuoja tik šiek tiek daugiau nei ištaisyti vieną.