tulipa tässä vaan mieleen (tylsällä TT tunnilla) että näin yleensä kun koodaatte, niin muistatteko kaikki kommennon, API- funktiot ja muut merrkki jonohirvit ulkoa :D, vai katsokke ne jostain muualta. Tarkoitan lähinnä sellaisia monimutkaisia kirjastojen tms. määrrittelyjä kuten:
Private Sub ws_ConnectionRequest(Index As Integer, ByVal requestID As Long)
tai
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
....en sitten tiedä että johtuuko se siitä etten ole hirveän paljon vielä koodaillut mutta mulle ainaki tollasten (ja välillä vähän yksinkertasempienkin:)
koodien muistaminen on wähä vaikkeeta :|
ja onko mielestänne "hyvä koodaaja" sellainen kuka repäisee kaiken koodin omasta päästä (juuri esim nuo yllä mainitut merkkihirviöt:):) vai ...?
Itse en ainakaan ole koskaan edes yrittänyt mitään api määrittelyä alkaa opettelemaan ulkoa. No ehkä Sleep api saattaisin muistaa, se kun on niin lyhyt. Yrittäpäs sitten vaikka jonkun bitblt määrittely muistaa :D
En ole noita erityisesti ulkoa opetellut, mutta esimerkiksi CreateWindow menee ulkoa. Ihme, mutta kun nyt näin miettii, ei tule mieleen kovinkaan montaa muuta kuin omaa funktiota, joita aktiivisesti käyttelisin.
Hyvä koodaaja on sellainen, joka osaa käyttää niitä funktioita, selvittää, mikä funktio tekee sen, mitä hän haluaa tehdä, ja tarvittaessa tekee oman funktion. Ei se ulkoa opettelu tee onnelliseksi.
Eihän tommosia mitenkään voi muistaa eikä tarvi kun määrittelyt saa näppärästi API-Viewerista. Sen sijaan jos muistia haluaa treenata voihan niitä yrittää opetella ulkoa. Itse harjoittelin opiskeluaikana muistia opettelemalla joka viikko piin desimaaleja 6 kpl lisää ja parhaimmillaan muistin 72 desimaalin litanian. Mutta en enää.
Ei noiden opettelussa ole mitään järkeä, sitä varten se dokumentaatio on olemassa, että sieltä voi luntata, kun tarvii.
Itse en ainakaan edes yritä opetella ulkoa tuollaisia.
Jooh, eipä tuollaisten ulkoaopettelu paljon kannata.
Metabolix kirjoitti:
Hyvä koodaaja on sellainen, joka osaa käyttää niitä funktioita, selvittää, mikä funktio tekee sen, mitä hän haluaa tehdä, ja tarvittaessa tekee oman funktion.
Näin on asia.
En osaa mitään API-määrittelyjä ulkoa. Hullujen touhua. Jotkin simppeleimmät (beep ja sleep) vielä menevät.
Apeja ei kyl tosiaankaan kannata tietää ulkoa kun niin nopeasti niiden määrittelyt saa jostain apivieweristä. En osaa niitä yhtään ulkoa.
CoDeR kirjoitti:
Private Sub ws_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Miksi toi pitäisi muistaa ulkoa kun sen saa siitä vb:n koodi-ikkunan dropdownlistasta? o_O
Tuskinpa tuollaisia kukaan ulkoa osaa. Tärkeintä on osata ohjelmoida, ja siihen kuuluu se että osaa hakea dokumentaatiosta funktion kuvauksen.
Itselläni menee ulkoa omien funktioiden lisäksi suuri osa SDL:n perusfunktioista koska ne ovat niin yksinkertaisia, mutta mitä Windows-koodauksesta C++:alla muistan niin ei semmoisia voi ulkoa osata :D
No jotkut OpenGL-funktiot saattaa olla hankalia muistaa, kuten glVertex3f():ssä on tuo kolmonen mutta glTranslatef():ssä ei ja oliko se kolmonen siinä värifunktiossa :)
Tärkeintä on tietää mitä on tekemässä ja mitä käytettävissä olevilla välineillä voi tehdä. Yksityiskohdat voi aina tarkistaa dokumenteista. Ei kannata opetella ulkoa kaikkia yksityiskohtia, nehän voivat muuttua koska tahansa. Toinen hyvä tapa on hankkia itselle kattava valikoima erilaisia malleja: kokonaisia ohjelmia, funktioita, sql -pätkiä jne. Opettele soveltamaan käytettävissä olevaa materiaalia, kaikkea ei todellakaan kannata tehdä tyhjästä luoden. Joku on kuitenkin jo keksinyt ns. pyörän :-D
Menee vanhan kertaukseksi, mutta mikään ulkoaopettelu ei tee autuaaksi. Enemmän merkitsee se, että tietää mitä on tekemässä, osaa soveltaa osaamaansa ja tietää mistä etsiä apua, kun jokin alkaa tökkimään. (Debuggeri, omat aikaisemmat projektit, google, foorumeiden haut, itse foorumit. Tässä järjestyksessä.)
Jos lähtee brassailemaan jollain pitkän koodipätkän ulkoa osaamisella kommentit on ennemmin "Showoff" tms., kuin "Ooh, kuinka sä ton osasit?".
mike patto kirjoitti:
Toinen hyvä tapa on hankkia itselle kattava valikoima erilaisia malleja: kokonaisia ohjelmia, funktioita, sql -pätkiä jne. Opettele soveltamaan käytettävissä olevaa materiaalia, kaikkea ei todellakaan kannata tehdä tyhjästä luoden. Joku on kuitenkin jo keksinyt ns. pyörän :-D
Mulla on juuri noita pieniä yhden formin ohjelmia jumalattomasti, joissa jokin eteen tullut ongelma on ratkaistu. Niistä sitten leikkaa/liimaa/soveltaa tarvittaessa työn alla olevaan projektiin.
Vähän aikaa sitten rupesin miettimään, että pitäisi koota ne yhteen isompaan projektiin (esim. MDIFormille), johon sitten paremmin dokumetoisi mitä mikäkin tekee. Tällä hetkellä Sorsa-kansiossa on 118 alikansiota, joista 3 on varsinaisia työn alla olevia projekteja. Tämä on siis työkone. Himassa noita pikkuprojekteja löytynee 3-4 kertaa enemmän, osan ollessa jossain BackUpeilla tallessa.
Edit: Pilkun viilausta...
Aihe on jo aika vanha, joten et voi enää vastata siihen.