Purkkaa tietenkin jauhetaan. Sitten kuunneltiin purkkaa tai jytää. Mutta mitä on purkkakoodi, se ei ole vielä selvinnyt? Valaiskaapa vanhusta.
Purkkaa
10
1842
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
- 1492690
En kai koskaan saa sinua
Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k1541679Terveystalon lääkärit ylilaskuttaneet
Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K1461674Saran ökytyyli käänsi katseita.
On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.1501401- 661348
Työttömille lusmuille luvassa lisää keppiä
Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall3021223The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."
Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut141195- 156996
Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek24950Tiedän kaiken sinusta ja kaikesta
Tiedän miten kärsit. Tiedän millanen oikeesti oot. Tiedän miksi valehtelit, tiedän miksi satutit mua. Tiedän mitä tapaht58899