(C)lean Code - Niclas Cedermalm, LTG-3

763 views

Published on

En introduktion till Software Craftmanship

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
763
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • teknisk skuld=waste
  • Allvarligaste skulden är nog att det inte finns tester, detta gör att det blir svårt att lösa de andra tekniska skulderna=> Man bygger upp en teknisk skuld för varje kodrad som man inte gjort ett test före för.
  • Ren kod exempel: Jocke’s erfarenheter ifrån ett projekt där de rensade komplex kod och gjorde den enklare och fick upp prestandanTest exempel: Testprogrammerare
  • (C)lean Code - Niclas Cedermalm, LTG-3

    1. 1. (C)LEAN CODEEn introduktion till Software Craftmanship
    2. 2. Problem idag• Mjukvaruarkitekturer oflexibla -> gör ändringar kostsamma (stor teknisk skuld)• Ofta vågar ingen göra refactoring i koden
    3. 3. Teknisk skuld?• avsiktlig teknisk skuld – Ofta pga av press – T.ex. genväg för att leverera i tid/optimera prestanda – Skippa skriva tester• oavsiktlig teknisk skuld – Dålig design/arkitektur – Kompetensbrist
    4. 4. Pusselbitar som behövsProcesser Verktyg Practices Lättrörlig mjukvaruutveckling
    5. 5. Lättrörlig mjukvara?
    6. 6. Lättrörlig kod• Lättrörlig kod är: – Enkel – Underhållsbar – Återanvändningsbar – Formbar utifrån nya krav – Lättläst och självförklarande – Driven av automatiska tester• Lättrörlig kod = ren kod (clean code) ”Clean code is code that has been taken care of”
    7. 7. Software Craftmanship?• Mjukvaruutveckling som ett hantverk• Yrkesstolthet• Utvecklare som vill förbättra sig själva och koden de jobbar med kontinuerligt• Lära av varandra• Kampen mot dålig kod• Ett antal gemensamma practices i teamet ”The only way to go fast is to go well” (Robert C Martin)
    8. 8. Manifesto för SW Craftmanship We are tired of writing crap! http://manifesto.softwarecraftsmanship.org/
    9. 9. Boy Scout Rule• Leave the campground cleaner than you found it.• Microförbättringar- dvs gör koden lite bättre för varje gång varje man rättar buggar eller uppdaterar koden. http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule
    10. 10. (C)Lean Code?• Strävan efter perfektion -> dvs clean code• Ständigt förbättra koden hela tiden (Boy Scout Rule)• Ständigt förbättra oss själva genom att lära sig practices hur vi skriver bättre och renare kod• Eliminera waste genom att: – Ha kod som är lätt att underhålla – Undvika kod-duplicering mha refactoring – Använd CI verktyg för minimera friktion – TDD för att göra rätt saker & våga ändra kod – Använda sig av kompetenta utvecklare
    11. 11. Grundinställning och värderingar• Vi tar ansvar för vår kod• Vi fokuserar på affärsvärde• Vi är stolta över vad vi gör• Vi värderar refactoring före stora upfront designs• Vi vill minimera teknisk skuld• Vi värderar enkelhet före komplexitet=> Vi vågar ändra och förbättra vår kod
    12. 12. ”Any hacker can writecomplex code, but it takes a craftsman to write simple code”

    ×