Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (12)
Emner Udviklingsværktøjer

1000 ord ?

Af Poul-Henning Kamp 20. januar 2010 kl. 17:18

Her er et plot over Varnish-projektets udvikling igennem tid:

X-aksen er varnish-commits, y-aksen er linier kode.

Op til og med den violette "incl+lib" er det jeg vil kalde "selve varnish", mens det der ligger ovenover er udenomsværker.

Den mørkegrønne "jemalloc" er dobbelt så stor som den burde være, fordi vi har to kopier, det skal jeg lige have kigget på ved lejlighed.

Den orange "contrib" klods i starten, skyldes at vi oprindeligt troede vi skulle bruge et event-bibliotek fra 3.part, men det droppede vi igen, det holdt ikke en meter.

Læg også mærke til den sandgule "varnishtest" kile, det er vores unit/regressiontests.

Alt i alt er jeg meget godt tilfreds med billedet, men der er nogle detaljer jeg skal have checket, som f.eks jemalloc tingen.

Jeg kan godt lide at lave den slags analyser en gang imellem, tælle tingene sammen på en anden koordinatakse end jeg plejer, oftest kan man lære noget om sin kode man ikke vidste.

Jeg har læst en del papers om "metrics" i løbet af vinteren, men det meste af det er noget voodoo-viften med hænderne og mærkelige "empiriske" formler hvor man ganger og dividerer indtil man får et resultat der passer med ens påstand.

Software og dets kvalitet er og bliver elastik i metermål, men det betyder ikke at man ikke skal måle det ind i mellem.

phk

Send Tweet
Udskriv
Billede af Poul-Henning KampOm Poul-Henning Kamp

Selvstændig systemprogrammør, kernekoder, Varnish-forfatter, data-arkæolog og brokkehoved uden særlig portefølje.

Follow @bsdphk

Kommentarer (12)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Rune Broberg 20. jan. 2010 - 19.33
 
Typisk open source

Ja, er det ikke sådan det plejer at gå? Først efter 1500 commits bliver "doc"-delen synlig, og udgør stadig kun en mikroskopisk del af det samlede ;-)

Fin graf som man burde gøre efter for mange andre projekter.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Morten Wegelbye Nissen 20. jan. 2010 - 21.56
 
Test relativt sent

Er der nogen forklaring på at testkode først dukker op efter 2500 commits? Er det en eller anden erkendelse der er opnået? Eller er det bare sådan du fortrækker at gøre det?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 20. jan. 2010 - 22.51
 
Re: Test relativt sent

Hvis du kigger ovre til venstre kan du se en ganske tynd gul stribe fra vores oprindelige test-framework der var baseret på et generelt test-system.

Det virkede ikke ordentligt, fordi man skulle bruge uforholdsmæssigt megen tid på at forklare værtøjet at i denne test skal vi køre en varnish...

...med det forudsigelige resultat at tests blev bygget i alle mulige ad-hoc værktøjer udenfor svn træet.

På et tidspunkt fik jeg nok, og skrev et nyt varnish-centreret testværktøj der gjorde det meget nemmere at skrive en testcase og siden da er alle gamle og nye testcases skrevet i dette værktøj, i svn træet.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Mads Olesen 20. jan. 2010 - 23.21
 
Script til at generere graf?

Har du et script til at generere grafen med, evt. et du vil dele?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 20. jan. 2010 - 23.34
 
Re: Script til at generere graf?

Ikke rigtigt...

Først kørte jeg en svn co -r$r for alle r og kørte en wc på alle filer der ikke var i et .svn subdir.

Derefter kørte jeg et awk script til at kategorisere og endelig gnuplot til at lave figuren med.

Intet af det er i nogen form for generaliseret eller brugbar form...

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
\n \r 21. jan. 2010 - 11.18
 
metric papers

Hvis du har mulighed for at kaste nogle links til metric papers ville jeg blive meget glad.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Martin Bøgelund 21. jan. 2010 - 11.35
 
Re: metric papers
Hvis du har mulighed for at kaste nogle links til metric papers ville jeg blive meget glad.

"Me too!"

Desuden vil jeg meget gerne høre din holdning til produktivitetsmåling af programmører udfra givne metrikker, Poul-Henning: Giver det overhovedet mening?

Din slutkommentar antyder at i små doser og med et gran salt oveni, kunne det måske være sigende.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jens Schumacher 21. jan. 2010 - 11.56
 
slettet

slettet

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 21. jan. 2010 - 12.38
 
Re: metric papers
Desuden vil jeg meget gerne høre din holdning til produktivitetsmåling af programmører udfra givne metrikker, Poul-Henning: Giver det overhovedet mening?

Nej det gør ej, ihvertfald ikke hvis kvalitet har nogen rolle.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Anders Rune Jensen 21. jan. 2010 - 14.38
 
Events

Den orange "contrib" klods i starten, skyldes at vi oprindeligt troede vi skulle bruge et event-bibliotek fra 3.part, men det droppede vi igen, det holdt ikke en meter.

Skyldes det biblioteket eller det at lave det vha. events?

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Robert Larsen 21. jan. 2010 - 15.12
 
CodeCity

Tjek evt. denne: http://www.inf.usi.ch/phd/wettel/codecity.html

Den viser, hvilke klasser som har vokset sig for store i enten antal linjer/metoder eller antal member variable. Der er vist også et lignenede værktøj til Eclipse (for dem som bruger den slags).

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Michael Møller 21. jan. 2010 - 16.08
 
Metrik for kompleksitet

Jeg har arbejdet steder hvor man bruge sådan noget her:

http://en.wikipedia.org/wiki/Cyclomatic_complexity

Det giver et vist fingerpeg om hvad det er man har gang i, men har også sine fejl. Feks kan man sagtens lavet en super kompleks statetable fyldt med funktions pointere og det giver et tal på 0, mens en switch case giver meget. Vores kvalitets mand brugte tallet med fornuft og trak data engang imellem, nogle steder har man politiker for hvor højt man må score, og er det for højt så kan man ike checke ind. Det giver gro bund for meget kreative programmørere og meget lidt læseligt kode.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Bruger du to skærme? Se hvad Windows 8 bringer

Udgivet 23. maj 7.53Opdateret 23. maj 7.53

EMC: Derfor skal du undgå både public og private cloud

Udgivet 23. maj 6.59Opdateret 23. maj 6.59

GOTO Copenhagen dag 2 i billeder: Op med hænderne!

Udgivet 22. maj 16.02Opdateret 22. maj 17.02

Staten køber hardware for 1,2 milliarder - her er de syv heldige

Udgivet 22. maj 15.37Opdateret 22. maj 15.37

Firmaer leder efter ’ninjaer’ - men skriv det ikke på CV’et

Udgivet 22. maj 14.54Opdateret 22. maj 15.48

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Seneste debat

  1. Partner solgte Netgroups 'test-platform' med overskriften 'fuld redundans'

    17 comments.
    Last update 5 minutter 30 sekunder
    Skrevet af Carsten Hansen
  2. Microsoft fjerner umoderne bling-effekter i Windows 8

    38 comments.
    Last update 15 minutter 43 sekunder
    Skrevet af Bjørn Froberg
  3. Dart: Dynamisk Statisk Programmering

    13 comments.
    Last update 51 minutter 16 sekunder
    Skrevet af Lars Bjerregaard
  4. Cisco kan være en dyr netværksreligion

    15 comments.
    Last update 1 time 6 minutter
    Skrevet af Bjørn Connolly
  5. Finansminister afliver teori om NemID som spionsoftware

    22 comments.
    Last update 8 timer 34 minutter
    Skrevet af Niels Elgaard Larsen
  6. Datamatikere i Skive får gratis smartphone til .Net-udvikling

    3 comments.
    Last update 8 timer 47 minutter
    Skrevet af Martin Slot
  7. To psykologiske årsager til at IT-projekter går galt

    15 comments.
    Last update 9 timer 45 minutter
    Skrevet af Robert Voje
  8. Staten køber hardware for 1,2 milliarder - her er de syv heldige

    4 comments.
    Last update 10 timer 29 minutter
    Skrevet af Thomas Hansen

Mere debat »

It-virksomheder

Devoteam
|
Black Box
|
Sec4it
|
Byggeweb
|
BEC
|
Incube
|
Structura - IT
|
Magenta
|
Planahead
|
Innologic A/S
|
IBM Danmark
|
Cbrain
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300