FindBugs for statisk analyse av kode

For de fleste programmerere er det viktig å finne defektene i koden man produserer, slik at kvaliteten er høyest mulig. Man har ikke lyst til å gi ut programvare som er full av feil. Men et trist faktum er at de aller fleste programmer har defekter. Undersøkelser viser at kommersielle programmer har i snitt 20-30 bugs per tusen linjer kode. Det er mange forskjellige typer defekter i kildekode, og noen er mindre kritiske for programkjøring enn andre, men alle feil bør finnes og fikses. Det finnes en del metodikker som kan senke feil-frekvensen. Noen eksempler på disse er Extreme Programming,Test Driven Developmen og Code Review Disse metodikkene er fullverdige metoder for å øke kvaliteten på programvaren man produserer, og bør vurderes som en del av den totale utviklings-modellen. Det er flere måter å finne bugs i kode. Et av disse er statisk analyse av koden. Statisk analyse er å gå gjennom koden og lete etter kjente mønster som indikerer feil,

read more FindBugs for statisk analyse av kode

Integrerte utviklingsverktøy

Jeg har installert Linux hjemme med diverse hjelpeverktøy for utvikling. Mest fordi jeg er en tekno-junky, men også fordi jeg liker å pludre litt med ting hjemme som kan hjelpe meg å gjøre jobben min bedre. På Linuxen min har jeg installert Subversion, DokuWiki, Bugzilla, CruiseControl, og MySQL. Jeg har konfigurert opp disse programmene slik at jeg kan sjekke inn kildekode i Subversion, så henter CruiseControl ut den koden og kompilerer den og sender meg en epost hvis den ikke greier å bygge det prosjektet kildekoden hører til. Jeg har brukt DokuWiki til å kjapt kunne skrive ned spesifikasjoner og notater om ting jeg holder på med, og dermed ha dem lett tilgjengelig til senere. Bugzilla har jeg ikke brukt mye enda, men det er meningen at den skal hjelpe meg å holde oversikt over bugs i prosjektene mine. Alt dette er vel og bra. Jeg har stort sett det jeg trenger til å kunne utvikle et produkt og holde

read more Integrerte utviklingsverktøy

Er alle programmeringsspråk skapt like?

Ifølge denne artikkelen er ikke alle programmeringsspråk like kraftige. Noen er mye bedre enn andre. Det er vanskelig å ikke være enig etter å ha lest artikkelen. Han sier at man lett kan kjenne igjen språk man kan som ikke er så kraftige som språket man bruker i dag, men at det er umulig å vite om språk man ikke har erfaring med er bedre. De virker kanskje bare rare. Jeg tror det er på tide å lære noen nye programmeringsspråk.

Continuous Integration

Jeg kikket på Continuous Integration artikkelen til Martin Fowler for et par uker siden og oppdaget at han hadde oppdatert den ganske kraftig tidligere i år. Nå inkluderer den litt mer tidsriktig informasjon, som f.eks. å anbefale Subversion til versjonskontroll. Kort fortalt handler artikkelen om hvordan man får ned antall bugs i kode, og minimalisert stresset forbundet med integrering av moduler til en fungerende build, ved å integrere hele tiden. Det gjøres ved at man har en såkalt ‘build server’, som Cruise Control. Denne programvaren sørger for å bygge hele løsningen og kjøre tester, automatisk og så ofte som mulig, enten på bestemte tidspunkt, eller når noen sjekker inn ny kode i versjonskontroll-systemet. Hvis noe går gale får de ansvarlige utviklerne beskjed i form av e-post eller, hvis de vil, kan de sjekke resultatene av byggingen på en vevside som genereres av Cruise Control. Artikkelen forklarer fordelene ved å gjøre dette, og hvordan få det til i praksis. Jeg har

read more Continuous Integration