Purkkaa tietenkin jauhetaan. Sitten kuunneltiin purkkaa tai jytää. Mutta mitä on purkkakoodi, se ei ole vielä selvinnyt? Valaiskaapa vanhusta.
Purkkaa
10
1781
Vastaukset
- jtr
Kuvittele muutama huonosti yhteen sopivia ohjelmakomponentteja. Purkka-koodissa laitetaan palaset toimimaan jollakin tavalla, jolloin muodostuu ns. purkka-koodia.
- esimerkki
>Mutta mitä on purkkakoodi...
Vaikkapa Microsoftin käyttöjärjestelmät. Kaikki pitäisi toimia mutta käytännössä kuitenkaan ei.
Niinpä siellä tehtii radikaali päätös heittää roskiin kaikki se koodi millä nykyiset Windowsit toimii. Vistaa alettiin rakentaa puhtaalta pöydältä joten aika näyttää tuleeko siitä jotenkin parempi.
Tähänastiset julkaisun lykkäykset toinen toisensa jälkeen ja beta-testaajien palaute ei kyllä hyvää lupaa.- Täsmentäjä
Koodin toimimattomuus on täysin eri asia kuin purkka koodi. Täysin toimiva ohjelma voi olla koodiltaan täyttä purkkaa ja päinvastoin.
- ylläpito?
Täsmentäjä kirjoitti:
Koodin toimimattomuus on täysin eri asia kuin purkka koodi. Täysin toimiva ohjelma voi olla koodiltaan täyttä purkkaa ja päinvastoin.
Toimivuudessa on useampia aikaperspektiivejä. Purkkakoodi saattaa toimia sen hetken mutta pidemmän päälle tulee aina ongelmia. Kuten juurikin windowsilla jossa jonkun bugin korjaaminen service packillä tuottaa kasan ongelmia muualla. Näinhän kävi viimeksi xpeellä SP2:n kanssa joka jäänee viimeiseksi tälle nykyiselle koodille.
Kriittinen massa koodissa on ylitetty silloin kun vikoja tulee enemmän kuin alunperin oli korjattavia. - Täsmentäjä
ylläpito? kirjoitti:
Toimivuudessa on useampia aikaperspektiivejä. Purkkakoodi saattaa toimia sen hetken mutta pidemmän päälle tulee aina ongelmia. Kuten juurikin windowsilla jossa jonkun bugin korjaaminen service packillä tuottaa kasan ongelmia muualla. Näinhän kävi viimeksi xpeellä SP2:n kanssa joka jäänee viimeiseksi tälle nykyiselle koodille.
Kriittinen massa koodissa on ylitetty silloin kun vikoja tulee enemmän kuin alunperin oli korjattavia.Itse ymmärrän asian sitten, että purkkakoodi käsite koskisi vain koodin ulkoasua, ei ulkopuolisia dokumenttejä, virhe määrää, tms.
Purkkakoodi on sellaista, ettei siitä saa tolkkua, ja tämän takia sen uudelleenkäyttö/muokkaus on työlästä ja virhealtista. Ei tällä ole suoranaista tekemistä koodin toimivuuden kanssa, jne. Purkkakoodia ei ole edes aina tarkoitettu ylläpidettäväksi ja jatko kehitettäväksi. Virheet ovat virheitä, eivätkä ne johdu aina purkkakoodista, vaikka purkkakoodin uudelleen käyttö onkin virhe altista.
Sitä en tiedä mistä Windowsin virheet johtuvat, huonosta dokumentoinnistako, purkkakoodistako, tms. - ???
windowsissa ei ole mitään vikaa. Toisin kuin esim. firefoxissa, jossa on pari ärsyttävää bugia (se, että työkalurivin napit jäävät highlitatuiksi kun kursorin vie niiden yläpuolelle ja se että se saattaa kaatua tai sulkeutua isoista mediatiedostoista, mikä ei IKINÄ tapahdu IE:llä).
lisäksi windows on turvallisempi kuin esim linux, katso tämä:
http://www.tietokone.fi/uutta/uutinen.asp?news_id=23422
MISTÄ tulee se, että ihmiset haukkuvat windowssia? Mitä vikaa siinä on, erittäin hyvä käyttöjärjestelmä jossa hyvin toimivat APIt? - joo!
??? kirjoitti:
windowsissa ei ole mitään vikaa. Toisin kuin esim. firefoxissa, jossa on pari ärsyttävää bugia (se, että työkalurivin napit jäävät highlitatuiksi kun kursorin vie niiden yläpuolelle ja se että se saattaa kaatua tai sulkeutua isoista mediatiedostoista, mikä ei IKINÄ tapahdu IE:llä).
lisäksi windows on turvallisempi kuin esim linux, katso tämä:
http://www.tietokone.fi/uutta/uutinen.asp?news_id=23422
MISTÄ tulee se, että ihmiset haukkuvat windowssia? Mitä vikaa siinä on, erittäin hyvä käyttöjärjestelmä jossa hyvin toimivat APIt?>windowsissa ei ole mitään vikaa
>...erittäin hyvä käyttöjärjestelmä...
Neuvostoliiton kansalaisetkin olivat vilpittömästi sitä mieltä että kommunismi oli oikein hyvä, jopa paras yhteiskuntajärjestelmä kun ei ollut tietoa mistään paremmasta.
- glue routine
Oletetaan että olet käyttänyt ohjelmassasi graafista kirjastoa jossa ympyrä piirretään kutsumalla funktio:
void DrawCircle(int x, int y, int radius) //kirjastoaliohjelma
Parametrien yksiköt ovat mm. Olet käyttänyt tätä funktiota hyvin monessa paikassa. Nyt vaihdat uuteen graafiseen kirjastoon jossa vastaava funktio on:
int Circle( double radius, double x, double y) //uusi kirjastoaliohjelma
Huom parametrien järjestys verrattuna alkuperäiseen kirjasto-ohjelmaan. Parametrien yksiköt ovat nyt cm, ei mm. Sen sijaan että tekisit tuhat ja yksi korjausta ohjelmakoodiisi teet ns glue routine jolla on sama nimi kun alkuperäinen kirjastoaliohjelma
void DrawCircle(int x, int y, int radius) //oma purkkakoodi
{
int virhekoodi;
virhekoodi = Circle(radius/10.,x/10., y/10.); //kutsu uuteen kirjastoohjelmaan
return;
}
Tämä on vain yksi esimerkki, toivottavasti ymmärsit idean. Vähän monimutkaisempi esimerkki voisi olla jos kutsut esim Pascal-koodia tai FORTRAN-koodia C-ohjelmasta (ne välittävät mm parametrejä eri tavalla ja ilmaisevat tekstistringejä eri tavalla). Eri tavallaan "liimat" (glue) tai "eristät" (encapsulate) muuten yhteensopimatonta koodia siten että voit käyttää sitä.- ja nimikkeet
oikeat, mutta joskus asia on minimutkaisempi:
Jos on hyvin suuri ohjelma (kuten esim käyttöjärjestelmä) siitä ei kannata toimittaa kokonaan uusi versio aina kuin havaitaan virhe, vaan tehdään ns. patch (suomeksi "paikkaus" tai "parsinta"). Tällöin korvataan osa käännetystä (binääri) koodista uudella koodilla. Jotta suhteelliset osoitteet pysysivät muuttumattomina, vanhan koodin alkuun laitetaan ensimmäisenä kutsu uuteen (korjattuun) koodiin.
Pääperiaate on kuitenkin aivan sama.
- Koodari127
Nyt on kyllä pakko vastata. Näköjään kaikki on käsittänyt koko jutun väärin. Ei, purkka ei ole huonosti toimiva ohjelma. Purkka ei näy ohjelman käyttäjälle. Ohjelmointivirheet eivät ole purkkaa, vaan virheitä, asiat on koodattu virheellisesti.
Purkkakoodi on huonosti toteutettua koodia. Purkkaratkaisu ovat eräänlaisia umpikujia: Jos koodaa purkkaa, on ohjelman myöhempi paranteleminen ja muuttaminen vaikeampaa, ja se saattaa vaatia suuria muutoksia koodissa. Purkan tuottaminen on helppoa ja nopeaa, mutta sillä ei pääse pitkälle. Koodauksessa pikkuasioita voidaan testata purkalla, mutta jälkeenpäin asia koodataan kunnolla. Ohjelman eri osat liittyvät yleensä toisiinsa, eli asiat ohjelmoidaan perustuen aiempaan koodiin. Kunnollisen koodin päälle voi koodata kunnollista koodia, purkan päälle vain purkkaa, joka käy ylivoimaisen työlääksi, jos purkan päälle koodaamista jatketaan vähänkään pidemmälle.
Esimerkki purkasta ja kunnollisesta koodista:
Teet pelin, jossa on kolme samankaltaista pelihahmoa. Koodaat hahmon 1 ja joitakin sen ominaisuuksia. Kopioit hahmon 1 koodin hahmoille 2 ja 3. Nyt, jos haluat muuttaa tai lisätä ominaisuuksia hahmoille, joudut copypastettamaan sen muillekin. Jos muutat hahmoja, joudut muuttamaan koodin jokaista kohtaa. Tämä on purkkaa. Koodin käsittely muuttuu erittäin vaivalloiseksi ja työlääksi.
Teet pelin, jossa on kolme samankaltaista pelihahmoa. Koodaat luokan (eräänlaisen ryhmän), ja lisäät siihen kolme hahmoa. Koodaat luokan kaikille jäsenille (hahmoille) yhteiset ominaisuudet (Sen lisäksi yksilöllisille hahmoille voidaan tietenkin lisätä muutakin). Jos muutat hahmoja, sinun tarvitsee vain muuttaa luokan hahmojen yhteisiä ominaisuuksia. Helppoa. Tämä on kunnollista koodia.
Terveisin: 11 vuotiaana ohjelmoinnin aloittanut, nyt 17 vuotias.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos
Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä792793Pelotelkaa niin paljon kuin sielu sietää.
Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda2931610Mikä saa ihmisen tekemään tällaista?
Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?2461517- 871361
IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!
Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel4011329Nyt kun Pride on ohi 3.0
Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että3961273Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa
Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat381017Kiitos nainen
Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik2969Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?
Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun329854Miksi Purra-graffiti ei nyt olekkaan naisvihaa?
"Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden254822