[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

RE: [PROGRAMMERING] Quality Assurance



"Hvordan kan de tal sige noget om kodekvaliteten?"

Mange af tallene kan sige, om koden overholder god programmeringsskik.
* En funktion på 2000 linjer gør sandsynligvis for mange ting og burde
derfor deles op i et antal mindre funktioner (mit eget krav er at en
funktion skal kunne være på skærmen medmindre der er en MEGET god grund til
andet)
* Der bør være kommentarer rundt omkring i koden som forklarer, hvad der
sker. QA softwaren kan ikke tjekke kvaliteten af kommentarerne, men kan i
hvert fald sige til, hvis de ikke er der.
* Hvis en funktion har 8 return statements og den pludselig skal rydde noget
op inden returnering er det 8 steder, det skal implementeres. Derfor (og af
mange andre årsager) bør en funktion kun have ét return statement.

Jeg har overvejet `grep` men tror ikke, det er avanceret nok (eller måske er
jeg for dum til at bruge det kreativt nok :-)  )

-----Original Message-----
From: Jacob Sparre Andersen [mailto:sslug@sslug
Sent: 14. juni 2004 11:10
To: sslug@sslug
Subject: Re: [PROGRAMMERING] Quality Assurance


Robert Larsen skrev:

> Jeg prøvede engang CASE værktøjet Together Control Center,
> og det indeholdt et værktøj til at tjekke kodekvalitet.
> Det tjekkede en liste af metrics: Antalle kommentar linjer
> vs. antal kodelinjer, antal return statements fra metoder,
> antal kodelinjer per metode, kobling mellem objekter, og
> meget andet og ud fra de indsamlede data lavede det en
> tabel og et Kiviat diagram, så man kunne se, hvor der var
> mulige problemer med kodekvaliteten.

Hvordan kan de tal sige noget om kodekvaliteten?  (udover at
alle funktioner selvfølgelig bør returnere et resultat)  Og
kobling mellem objekter er vel snarer et mål på designet end
på koden.

> Jeg har prøvet at finde et program i samme stil, bare i en
> prisklasse, hvor jeg kan være med privat. Dvs. helst
> gratis og OpenSource, men det er ikke et krav. Det skal
> dog kunne køre under Linux (surprise). Hverken Google,
> Sourceforge eller Freshmeat kunne hjælpe.

`grep` kan hjælpe dig med en del af tallene, hvis det er
godt nok at få dem på filniveau.  Og hvis det er Ada-kode du
vil analysere, så kan du nok have glæde af GCC's
ASIS-implementation.

Jacob
--
"It is very easy to get ridiculously confused about the
 tenses of time travel, but most things can be resolved
 by a sufficiently large ego."







 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 22:43 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *