Purkkaa

Pukkaa

Purkkaa tietenkin jauhetaan. Sitten kuunneltiin purkkaa tai jytää. Mutta mitä on purkkakoodi, se ei ole vielä selvinnyt? Valaiskaapa vanhusta.

10

1976

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä

      Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain
      Maailman menoa
      347
      12145
    2. Mitä hyvää rikkaiden hyysääminen Suomelle tuonut?

      Minäpä vastaan: ei yhtikäs mitään, vaan pelkkää vahinkoa. Demareiden ansiosta Suomen valtio oli käytännössä vielä 1980-
      Maailman menoa
      158
      11176
    3. Tytti Tuppurainen häpäisi Suomen epäisänmaallisella lausunnollaan USA:n ulkoministerille Rubiolle.

      https://www.is.fi/politiikka/art-2000011816267.html Miksi Tytti Tuppurainen päästetään antamaan typeriä lausuntoja noin
      Maailman menoa
      279
      6542
    4. Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli

      Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.
      Maailman menoa
      255
      5327
    5. Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia

      Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom
      Maailman menoa
      192
      3805
    6. Pystyisitkö olla

      Kanssani kaiken sotkun jälkeen? Ainakaan tunteet ei ole loppuneet
      Ikävä
      176
      3613
    7. L/OVER ikuisesti minun

      Aivan järkyttävä sarja. Ei voi olla katsomatta, mutta tuo omat muistot mieleen. Näyttelijät näyttelevät turhankin hyvin
      Ikävä
      60
      2661
    8. Purra vaatii: Työvelvoite maahanmuuttajille ja kantasuomalaisille pitkäaikaistyöttömille

      Jos Perussuomalaiset ja Kokoomus ovat seuraavan hallituksen kaksi johtavaa puoluetta, on suomalaisille pitkäaikaistyöttö
      Perussuomalaiset
      165
      2308
    9. Nyt on kova paikka "suvaitsevaisille" naisille", kun naisille tuli oma taksi

      ja syy siihen on kehitysmaalaiset taksisuharit, joista on koitunut paljon "ongelmia" naismatkustajille. Nimittäin "suva
      Maailman menoa
      41
      2174
    10. Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!

      Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov
      Työ ja opiskelu
      13
      1894
    Aihe