Under förra veckan gå gick Pimp My Code av stapeln i Göteborg. Det var en väldigt lyckad och intressant kväll.
Första sessionen höll Joakim Sundén i. Han pratade om kodkvalitén och proffesionalismen hos programmerare. Några av dom intressantaste punkterna som han tog upp var
· ”Broken window theory” – Om man har ett krossat fönster i ett hus och inte reparerar det kommer det leda till att flera fönster krossas och att det är större risk för inbrott eller skadegörelse. Det samma gäller för kod, om man ser många fulfixar så är det större risk att det leder till fler.
· Förändring börjar alltid hos en själv. Om man själv har attityden att alltid checka in bättre kod än man checkade ut så är det ett bra utgångsläge.
· Parprogrammering ger 60 % buggupptäckningsgrad jämfört med att sitta och koda själv.
· Parprogrammering tillsammans med TDD ger ca 98 % buggupptäckningsgrad jämfört med att sitta och koda själv utan TDD.
Andra sessionen höll Patrik Löwendahl och den handlade om S.O.L.I.D. principerna som jag nämnt tidigare i ett tidigare inlägg. Jag kommer att lägga upp en post om varje enskild princip så jag nämner inte så mycket mer om det här.
Tredje sessionen höll Fredrik Normén och den handlade om Refaktorering till Mönster och exemplet var ett väldigt klassiskt på hur en swith sats lätt kan växa sig lite för stor eller riskera att göra det och hur man genom att använda Separation Of Concerns kan lösa det snyggare. Jag kommer att ta upp det i inlägget om Separation Of Concerns som är den första principen i S.O.L.I.D.
Sista sessionen höll Dag König och den handlade om Kodkvalité och hur man kan mäta den med olika verktyg. Bland annat fxCop som man kan koppla in till Visual Studio och sen även Visual Studios egna code metrics. Med fxCop kan man välja vilka regelbibliotek man vill att den ska använda och så får man veta om koden bryter mot några av dom. Den kan vara namnstandard som inte följs eller att man bryter mot best practices. Code Metrics i VisualStudio har några olika kategorier som LinesOfCode, ClassCoupling, CyclomaticComplexity (hur många utgångar en funktion kan ha) och Maintainability Index där bra värden är < 70 men sen finns det förstås alltid undantag.