Gå til innhold

Hvordan reagerer dere når ting funker på første forsøk?


Anbefalte innlegg

Videoannonse
Annonse

"Hei Mor, jeg fikk til, nå virker klassen min, jeg skulle egentlig brukt en unsigned integer her, hadde signed integer og et bibliotek jeg hadde var kodet i ansi, skulle vært unicode, JEG FIKK DET TIL, HURRA"

 

Mor:

 

"Jeg er så stolt av deg, forrige gang så brukte du feil peker-referanse, du forkludret hele klassen din, strukturen, og jaggu brukte du ikke feil feil-kode når du skulle bruke GetLastError, nå må du forresten komme å spise kjøttsuppe, vi har kjøttsuppe til middag i dag"

 

*Far kommer og ser på klassen din*

Far: Dette er jo totalt ustrukturert, du må ikke kode som en noob. Lag klassen på nytt med MVC - Struktur, ellers skjønner ingen en dritt.

 

*Far spolerer alt*

Endret av medlem-230551
Lenke til kommentar

Ikke alt som er "TDD-bart" heller. Front-end web kan være en pain å teste automatisk skikkelig, selv om det finnes en del verktøy for det.

OpenGL stuff (spillprosjekter jeg gjør på fritiden) også.

Kommer fullstendig an på hvordan du implementerer det. Både UI og OpenGL programmer kan testes, du må bare legge til rette for det. Aldri lag unit-tester som tester tredjeparts-implementasjoner, og det er dette som kan være vanskelig.

For UI er det viktig å bare skille presentasjon og kode godt.

 

For OpenGL gjelder samme regla som alle tredjepartsbiblioteker: dersom de ikke kan enkelt mockes, så bør man lage en wrapper rundt som kan det. For OpenGL er det naturlig å skrive en Device klasse som behandler grunnleggende OpenGL state, og for buffer objects, frame buffer object, shader objects etc. så kan man skrive noe lignende og benytte seg av Abstract Factory for å lage dem. Plutselig er OpenGL programmet ditt testbart, og du kan erstatte hele OpenGL implementasjonen med mock objekter fra et mock rammeverk. Det er bare å designe det riktig fra starten.

Lenke til kommentar

Har aldri helt skjønt poenget med TDD, det virker som om man må gjøre tre-fire ganger jobben for å få ut samme/skikkelig kode. Hvordan skrives testene? Hva gjør de? Tester man enkeltmoduler eller tester man småbiter av et stort program? Hvordan er det å "sette sammen" alt i etterkant?

 

Jeg skjønner jo at det er rimelig smart å ha automatisert testing av programmet, så man slipper tidkrevende testing FØR tidkrevende feilsøking, men det virker som om det gjør alle prosjekter så store, tunge og uhåndterlige. Programmet blir tross alt ikke bedre enn testingen du gjør / skriver. Og så må man kanskje feilsøke testene osv osv.

 

Er det rart at de store IKT-prosjektene sklir langt over budsjett hvis det er slik ting faktisk er? (Ikke det at det nødvendigvis er slik, altså, men det er inntrykket jeg har fått.)

Lenke til kommentar

Er det rart at de store IKT-prosjektene sklir langt over budsjett hvis det er slik ting faktisk er? (Ikke det at det nødvendigvis er slik, altså, men det er inntrykket jeg har fått.)

Det er vel heller mangelen på TDD, smidige metoder osv. som er problemet her.

Du har misforstått enkelte ting med TDD, det gjør tvertimot et stort og uhåndterlig program håndterlig. Fordi man med tester kan gyve løs på koden uten å være redd for uheldige bieffekter, de sier testene i fra om. Dessuten tvinger TDD som oftest frem god kodeskikk.

  • Liker 1
Lenke til kommentar

TDD er uvurdelig. Det er bare veldig tungvindt å jobbe med det i kodebaser som ikke er tilrettelagt for det. Dersom man gjør det fra scratch, og alltid vurderer testbarhet av en løsning, så er det en fryd å programmere på den måten.

 

Haha, var mest ment som en spøk egentlig :)

 

Men nå får vi ikke deraile tråden helt med TDD snakk folkens!

Lenke til kommentar

Hoppa ut av stolen og går og skryter til mor og far, og får eit kjeks :)

 

Alltid artig å løse "verdens største problem" på strak arm og man føler seg på toppen av verden, og så kommer kalddusjen når du prøver å forklare noen som ikke har greie på programmering hva du har oppnådd. Blanke øyne og "ok, ja..?". En kjeks og klapp på hode høres trivelig ut. :)

  • Liker 3
Lenke til kommentar

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å
×
×
  • Opprett ny...