Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Gjest Slettet+9871234

Ja kompilatoren tar seg av det, men i tolkede språk som PHP kan det ha større sideeffekter å skrive variabelnavn feil. Der er som regel alltid en tradeoff og sikkert klart nok for dem som vet hva en matrise er.

 

cSize og rSize er beskrivende nok for meg, men for å unngå misforståelser skrives en kommentar første gang de deklareres / defineres.

 

Noen ville sikker forkortet enda mer til rS og cS.

Endret av Slettet+9871234
Lenke til kommentar
Videoannonse
Annonse

Hvorfor henge seg i bagateller når det er så mange trær? :yes:

Det er muligens en bagatell for enkelte. Men jeg har alltid ment at det er viktig kode er lesbar og konsekvent. Det vil si at variablenavn er slik at de faktisk sier noe om hva de er til, og at man ikke bruker forskjellige begreper om samme ting.

Men innad i et miljø har man ofte konvensjoner på hva ting kalles. u og v, eller s og t, er typiske navn på tekstur-koordinater i OpenGL. Da bruker jeg det, isteden for å kalle det texturex eller lignende. Greit med en kommentar første gangen, men etter hvert er det "standard" at det er slik.

Lenke til kommentar

Men innad i et miljø har man ofte konvensjoner på hva ting kalles. u og v, eller s og t, er typiske navn på tekstur-koordinater i OpenGL. Da bruker jeg det, isteden for å kalle det texturex eller lignende. Greit med en kommentar første gangen, men etter hvert er det "standard" at det er slik.

Det er klart - man det et vel vært mer intuitivt å forkorte size til sz enn Row og Column?

Lenke til kommentar

Ja kompilatoren tar seg av det, men i tolkede språk som PHP kan det ha større sideeffekter å skrive variabelnavn feil. Der er som regel alltid en tradeoff og sikkert klart nok for dem som vet hva en matrise er.

Nå var det et C++ eksempel da :innocent:

 

Det finnes PHP editorer som har code completion også, så argumentet mot å spare tid og unngå skrivefeil kjøper jeg ikke ...

 

cSize og rSize er beskrivende nok for meg, men for å unngå misforståelser skrives en kommentar første gang de deklareres / defineres.

 

Noen ville sikker forkortet enda mer til rS og cS.

Greit nok at det er beskrivende nok for deg; men det er vel flere enn deg leser koden din?

Lenke til kommentar
Gjest Slettet+9871234

Dessuten

 

Og den 3'eren som går igjen i Matrix() burde vel strengt tatt vært definert som to konstanter for default row size og default column size?

Antar at det er denne

 

Matrix() : rSize(3), cSize(3) //Default constructor 3 by 3 type T matrix. 
{ //Importance of Default constructor. See 
pp = new T*[3]; //C++ Report September 1993 page 28. 
pp[0] = new T[3]; //No test for available memory implemented yet. 
pp[1] = new T[3]; 
pp[2] = new T[3]; 
} 

 

default konstruktøren du kommenterer. Jeg ser poenget ditt. To default konstanter, hvor viktig er det i den konstruktøren?

 

Og nå er det vel 15 år siden jeg skrev den koden, men om jeg husker riktig, fikk jeg det inntrykket at en default 3 x 3 matrise konstruktør ble foretrukket av de fleste som skrev i C++ Report samt Journal of Object oriented programming (Tilgjengelig på Norges Banks bibliotek) rundt midten av 90 tallet.

 

Andre som driver med spillutvikling hvor 4 dimensjonale transformasjons matriser er viktige, ville kanskje foretrukket en annen default konstruktør.

 

Til lags åt alle kan ingen gjera :nei:

 

Jeg redigerte innlegget litt før jeg leste svaret ditt.

Endret av Slettet+9871234
Lenke til kommentar
Gjest Slettet+9871234

Greit nok at det er beskrivende nok for deg; men det er vel flere enn deg leser koden din?

Ja, noe av den ble spredt over hele verden av http://www.intex.com/ så vidt jeg vet.

 

Det var vel først og fremst de Troll makroene (en Fortran lignende tolker for IBM stormaskin) jeg utviklet til å teste økonometriske modeller. Vi kunne utvikle egne tester som vi fant i litteraturen før de kom i programvare som:

 

http://www.pcgive.com/

 

http://www.estima.com/

 

samt Gauss http://www.aptech.com/gauss.html som nå er viderutviklet til http://www.aptech.com/

 

http://www.wolfram.com/mathematica/ ble brukt til mer teoretiske oppgaver.

 

Det var det eneste ferdige programmet som ble funnet godt nok til å brukes av blant annet min mattematikk professorer på Blindern / Kjeller.

 

Jeg fikk aldri tilbakemelding på at koden var uleselig.

 

Egentlig er jeg enig med deg i at navn bør være mest mulig beskrivende.

Endret av Slettet+9871234
Lenke til kommentar

Jeg er litt usikker på hva du mener, men antar at det er denne

De stemmer.

 

Jeg ville ha skrevet litt anderledes

 

#define DEFAULT_ROWSIZE 3
#define DEFAULT_COLUMNSIZE 3
Matrix() : rSize(DEFAULT_ROWSIZE), cSize(DEFAULT_COLUMNSIZE) //Default constructor 3 by 3 type T matrix. 
{ //Importance of Default constructor. See 
pp = new T*[DEFAULT_ROWSIZE]; //C++ Report September 1993 page 28. 
pp[0] = new T[DEFAULT_COLUMNSIZE]; //No test for available memory implemented yet. 
pp[1] = new T[DEFAULT_COLUMNSIZE]; 
pp[2] = new T[DEFAULT_COLUMNSIZE]; 
} 

 

Da blir det lettere å lese, og endre hvis det er behov for det.

 

Til lags åt alle kan ingen gjera :nei:

Det skal være sikkert ;)

 

Egentlig er jeg enig med deg i at navn bør være mest mulig beskrivende.

Godt å høre. Vi er sikkert ikke så uenige, det var bare det det var ditt eksempel som ble knaggen jeg hengte utblåsingen min på ...

Lenke til kommentar

Egentlig er jeg enig med deg i at navn bør være mest mulig beskrivende.

Det var godt å høre - ble litt bekymret her jeg satt og leste. Hensyn til dårlige tastaturegenskaper må aldri gå forran hensynet til menneskets naturlige begrensninger når det gjelder å lese og forstå kode.

Endret av torbjørn marø
Lenke til kommentar

Noen som vet hva det heter å forskyve elementer fremover i en liste/tabell (spesifikt snakk om java)?

At f. eks 1,2,3,4 blir 4,1,2,3 og at det da har flyttet en fremover.

 

Er snakk om en doubly linked list, så om noen tilfeldigvis har koden for det hadde det også vært flotters. Tror ikke det er push, switch, swap eller move, men kan hende at det er bare så mange som bruker betegnelsene feil at google bare gir meg svada..

Lenke til kommentar

Noen som vet hva det heter å forskyve elementer fremover i en liste/tabell (spesifikt snakk om java)?

At f. eks 1,2,3,4 blir 4,1,2,3 og at det da har flyttet en fremover.

 

Er snakk om en doubly linked list, så om noen tilfeldigvis har koden for det hadde det også vært flotters. Tror ikke det er push, switch, swap eller move, men kan hende at det er bare så mange som bruker betegnelsene feil at google bare gir meg svada..

Implementasjon: I ruby/JavaScript/PHP-lingo ville dette vært en pop etterfulgt av en unshift av det poppede elementet. Såvidt jeg kan se tilsvarer dette pollLast + offerFirst i Java (referanse).

Endret av torbjørn marø
Lenke til kommentar
  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...