Laatukoodi?

Kaverini kehuu 'laatukoodilla' ja näytti kirjoittelemiansa ao koodeja. No mitä laatua tuossa nyt sitten muka on? Muuttujia ei ole nimetty eikä hommaa kommentoitu. Koko funkkari on C:n ja assyn sekamelskaa.

planefill(int x,int y,int length,int height,int col)
{
char zeroes[80];
int co;
register int place;
register int counter;
length-=x-1;
height-=y;
for(counter=0;counter
121752
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

syntax error

Äänestä

Tuosta on laatu kaukana, kerro kaverilles et opettelee oikeasti kirjoittamaan koodia. :)

Äänestä

muutamia huomioita:

for(counter=0;counter MUUTA

memset(zeroes, col, 80);

######################################

place=(x-1) ((y*80)*8);
--> huomio ((y*80)*8) --> y * 640 --> y*512 y*128

---> MUUTA

plase=(x-1) ((y

Äänestä

Joidenkin mielestä kai koodi on sitä "laadukkaampaa", mitä laiteläheisemmillä kutsuilla se on kirjoitettu.

Minun mielestäni koodin laadussa ratkaisevaa on hyvä dokumentointi ja lähdekoodin kommentointi, analyyttinen lähestymistapa ja tulevien muutosten huomiointi esim. riittävällä modulaarisuudella.

Aniharvoin tarvitaan niin kovaa suorituskykyä, että koodi on mielekästä kirjoittaa suoraan assemblerilla. Kyllä se kääntäjä tai tulkki kaikista koodeista konekieltä tekee, ja yleensä ihan riittävän suorituskykyistä.

Nk. portattavien ohjelmointikielten yhteydessä assembler jopa tuhoaa koodin suoritettavuuden eri prosessoriarkkitehtuureilla.

Eli mieluummin selkeää ja ylläpidettävää koodia varsinkin tuotantokäytössä, eikä joutavaa brassailua vaikeasti tulkittavilla konekielikutsuilla.

Äänestä

Premature optimization is the enemy.

Äänestä

Selvästikään sinä et osaa lukea tuota koodia. Jäit nyt kiinni kun väitit, ettei muuttujia ole nimetty.

Mielenkiintoista, ettei kukaan muu huomannut, että olet epätevä.

Jos siinä ei ole jotain nimetty niin vakioita.

Ylläpitäminen on muuten mahdotonta, jollei osaa lukea tai ole mitään käsitystä sovellusalueesta. Turha yrittää ainakaan minua harhauttaa millään itkuilla.

memset'in puuttuminen on se selkein puute tuossa koodissa. En osaa nyt ympäristöä tuntematta sanoa, miksi tuossa on keskellä assemblyä.

Yksi aiemmista kommentoijista ilmeisesti osaa koodata, muut ei osaa. Ja moni ei ole edes kehityskelpoinen koodariksi.

Äänestä

On laadukasta.

Täällä ei tietystikkään nämä sisennykset ym. näy, mitkä mielestäni ovat tärkeitä ja toivoisin näkeväni myös aaltosulkeet esim. noissa for-silmukoissa vaikkei yksi rivi niitä vaadikkaan.

// kommenttia
for( int i=0; i

Äänestä

Sinä väität, että tekijöitä on ollut vain yksi, mutta koodista päätellen tuota on tehnyt ainakin kaksi koodaajaa.

Kommenteista päätellen sinä et osaa koodata eikä kukaan kommentoijistakaan ymmärrä tuota koodia edes pinnallisesti.

Kuten yksi kommentoija totesikin, kommentit ovat pinnallisia. Kommenteista paistaa myös perussosiaalinen halu hengailla mukana siellä missä tapahtuu, vaikkei siitä, mitä tapahtuu, olekaan tietoa. Pennut toistee yleispäteviä kommentteja, joita toisten odotetaan kuulevan: "Selkeä koodi on tärkeää" jne.

Tuossa koodissa ei ole yhtään mitään epäselvää. Sen sijaan ammattilainen näkee, että joko koodaajalla on ajatus pätkinyt todella pahasti tai sitten sitä on ylläpidetty jonkun muun kuin alkuperäisen koodaajan toimesta. Tasoero noiden koodaajien välillä on melkoinen. Kumpikaan ei ole kuitenkaan mikään huippu, ihan yhtä huonoja kuin kommentoijat.

Äänestä
  • Perustele mielipiteesi.

    Äänestä

  • Perustelujen vaatija kirjoitti:

    Perustele mielipiteesi.

    Kun on näinkin tyhmiä läsnä niin ei niille mitään perusteluja ilmaiseksi anneta. Kuolkoot nälkään.

    Äänestä

tuo joku2:n esittämä on hyvä:
--> huomio ((y*80)*8) --> y * 640 --> y*512 y*128

Muuttaisin vielä:

for(counter=0;counter

Äänestä

Itse olen samaa mieltä!!

Kyseinen koodi on helppolukuista ymmärrettävää. Nykypäivän "ponihäntäpojat" tekevät sisennyksiensä ja välilyöntiensä sekä erillisten kommenttiriviensä kanssa sellaista mössä josta eivät tahdo itsekkään virheitään löytää.

Itse teen koodia samalla tavalla: Joka riville, alkaen vasemmasta reunasta. Silloin yhdelle näytöllisellel mahtuu todella paljon tavaraa ja koodi on selkokielistä. Urputusta tulee "ei standardista" koodauksesta päivittäin ja se kuulemma voi olla työpaikan jatkumisen edellytyskin. No, toistaiseksi olen saanut pitää työpaikkani.

Oletteko muuten assyn lisäksi ottanut mukaan Fortrania tai LISP:iä? Siinä C-nikkareilla menee pasmat uusiksi jos tarvitaan koodinpätkä joka lisää itseensä rivejä sen mukaan miten monta muuttujaa ohjelmaan tarvitaan. Ja sitten taustalta kysyy vain assyn tai Fortranin pätkää. Hauskoja ilmeitä... Vai ettei LISP ole korkeampi ohjelmointikieli.

Äänestä

Kommentoi aloitusta


Mitä se on? kirjoitti:

Kaverini kehuu 'laatukoodilla' ja näytti kirjoittelemiansa ao koodeja. No mitä laatua tuossa nyt sitten muka on? Muuttujia ei ole nimetty eikä hommaa kommentoitu. Koko funkkari on C:n ja assyn sekamelskaa.

planefill(int x,int y,int length,int height,int col)
{
char zeroes[80];
int co;
register int place;
register int counter;
length-=x-1;
height-=y;
for(counter=0;counter

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu