Jos työksenne koodailette. Helevetti että on aika ärstyttävää selvittää toisen aivoituksia, pelkkää spagettikoodia tutkimalla.
Tai noh, pitäsköhän pistää onkelma kiertämään ja pistää oma koodi kylmästi ilman kommentteja menemään, pähkäilkööt seuraava heppu taas meikeläisen aivoituksia. Voisi piruuttaan jättää koodin vielä sisentämättä ja mahdollisimman pötköön vaan! Mitä sillä on väliä, kunhan ei vaan itse joudu oman spagettikoodin ääreen tulevaisuudessa vaikka vuoden parin kuluttua?
Miettikääs sitä..
Harrastus on asia erikkseen.
Tai noh, pitäsköhän pistää onkelma kiertämään ja pistää oma koodi kylmästi ilman kommentteja menemään, pähkäilkööt seuraava heppu taas meikeläisen aivoituksia. Voisi piruuttaan jättää koodin vielä sisentämättä ja mahdollisimman pötköön vaan! Mitä sillä on väliä, kunhan ei vaan itse joudu oman spagettikoodin ääreen tulevaisuudessa vaikka vuoden parin kuluttua?
Miettikääs sitä..
Harrastus on asia erikkseen.
Vastaukset 6
Vanhimmat
minä teen mitä haluan.
Oletkin vissiin sitten harrastelija? Minäkin sain töitä pelkästään itse-oppinut-puuha-pete periaattella, mutta yhden kurssin di-insinööri tako kaaliini kommentoinnin tärkeyden. Jos johonkin firmaan menet töihin ja teet kommentoimatonta koodia se "joku uusi heppu" voi valittaa koodisi surkeutta ja sinä taas joudut siinä huonoon valoon, varsinkin kun et itsekkään saa selvää omasta spagettikoodistasi ;) phuhahah!
Mietippä sitä. Kantsii opetella kunnon koodaus-säännöt!
Kokemuksella: Uusi Heppu :)
Kyllä ohjelma kannattaa tehdä selkeästi jo senkin vuoksi että itse vuoden kuluttua ymmärtää mitä siinä tapahtuu. Muuten korjaaminen ja lisääminen menee hankalaksi.
Aliohjelmien ja funktioiden nimistä sanoisin sen, että ne kannattaa nimetä ikään kuin käänteisesti: ensin nimi ja sitten toiminto. Esim. vaikka yleensä käytetään muotoa TallennaTiedosto ja AvaaTiedosto, niin ne on parempi nimetä TiedostoTallenna ja TiedostoAvaa. Tällöin ne ovat selauksissa peräkkäin.
Toinen asia minkä olen itse yli 20 vuoden työkseen ohjelmia Basicilla tehneenä oppinut, että uuden asian (modulin) tekeminen kannattaa tehdä sillä tavalla, että siihen lisäysten tekeminen on helppoa. Itse olen toteuttanut tämän siten, että moniin moduleihin olen muutaman perusparametrin välityksen lisäksi välittänyt arvoja yhdellä merkkijonolla. Esim. Function Tulosta(RuutuKirjoitin, TulostettavaTeksti$, Parametrit$). Tuo Parametrit$ sisältää halutun määrän arvoja tyyliin "MuutaSkandit=1|Keskeytyskysymys='Keskeytä tulostus'|VasenReuna=2.0"
Parametrien välittäminen merkkijonona tuolla tavalla on hitaampaa kuin erillisillä muuttujilla, mutta tietokoneet ovat nykyisin niin nopeita ettei sillä ole merkitystä. Tärkeämpää on että voin lisätä funktioon ja aliohjelmaan ohjelmakoodia ja uusia muuttujia ilman että tarvitsee muuttaa vanhoja kutsuja. Lisäksi tuo mahdollistaa sen että jos funktio kutsuu toista funktiota, niin se välittää Parametrit$ automaattisesti myös sille. Ainakin itse pidän tuota tapaa erinomaisena. Uskon kyllä että monet ohjelmoijat pitävät ensikuulemalta tuota ajatusta typeränä, mutta se on loistava tapa tehdä ylläpidettäviä ohjelmia. Olen tietysti tehnyt funktion, joka hakee Parametrit$-muuttujasta halutun arvon, esim. Function ParametritPalautaArvo$(Parametrit$,"VasenReuna")
Ohjelmoimalla oppii ja jos joku ohjelmointitapa (esim. tuo minun ohje) vaikuttaa typerältä ja itsellä on parempi tapa, niin kannattaa käyttää tietysti parempaa tapaa.
Loppuun vielä ohje ohjelmoijille: Ajattele ennakkoluulottomasti ja kehitä ohjelmointityyliäsi.
Mielenkiintoinen tapa tuo, että välittää parametrina "dictionaryn". (Pythonissa noita kutsutaan sillä nimellä ja Pythonissakin niitä voi käyttää samoin.) Parametrin voisi lähettää jopa XML-muotoisena. :D
Basicissa olen itse tehnyt muutamia funktioita, joita tulee käytettyä melkein joka ohjelmassa. Tosi yleinen funktioni on CutLeftTo(). Se toimii seuraavasti:
b$ = "kissagkoira"
a$ = CutLeftTo(b$, "g")
lopputulos:
a$ = "kissa"
b$ = "koira"
Tietysti tuo ei ole nopein tapa. Löytyyköhän tuolle funktiolle parempaa nimeä?
Paljon on tullut käytettyä StringToFile ja FileToString -funktioita, joiden tarkoitus selviää nimestä.
Tuo on kyllä projektiryhmän vastuullisten jäsenten (projektipäällikkön) tehtävä katsoa että projektiryhmä noudattaa firman tyyliohjeita ohjelmakoodia kirjoittaessaan. Jos joku ei noudata, siitä noottia seuraavassa palaverissa reilusti. Jos ei asia parin huomautuksen jälkeen korjaannu, potkut vaan ja joku oikeasti pätevä kaveri tilalle.
Ja jos joku sanoo että firmalla ei ole tyyliopasta, niin sellainen kannattaa laatia melko pian jos ei halua menettää kasvojaan sellaisten asiakkaiden silmissä, jotka asioista saattavat jotain tietääkin.
Yleensä tyyliopas on järkevää liittää firman laatukäsikirjaan, johon kirjataan myös kaikki muut käytännön asiat joita työntekijöiden on työssään noudatettava.
"Yleensä tyyliopas on järkevää liittää firman laatukäsikirjaan, johon kirjataan myös kaikki muut käytännön asiat joita työntekijöiden on työssään noudatettava."
Kuten, että työntekijä saa käydä vain kerran päivässä paskalla ?