1 / 27

Å Lytte til koden

Å Lytte til koden. Du kan lytte til koden. Johannes Brodwall, Chief scientist, Steria Statkraft 16. april, 2010. Hva er god programmering?. Hva er et godt program?. Bruksorientering?. God navngiving?. Testdekning?. Bruk av objekter?. Små metoder?. God ansvarsdeling?.

manny
Télécharger la présentation

Å Lytte til koden

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Å Lytte til koden Du kan lytte til koden Johannes Brodwall, Chief scientist, Steria Statkraft 16. april, 2010

  2. Hva er god programmering? Hva er et godt program?

  3. Bruksorientering? God navngiving? Testdekning? Bruk av objekter? Små metoder? God ansvarsdeling? Ingenting overflødig? Rammeverk? Bruk av patterns?

  4. Å bli en bedre utvikler • Seks prinsipper for godt design • Oppsummering av prinsippet • Video (fingers crossed!) • Hva annet kommer fram? • Oppsummering

  5. God utvikling krever trening

  6. Kode kata http://jhannes.blip.tv/ jhannes.blip.tv/file/3487566/

  7. Test-drevet utvikling

  8. Evolusjonært design

  9. Hvordan blir en web-applikasjon uten up-front design?

  10. Prinsipper

  11. Prinsipp #1: Spesifiser utenfra og inn github.com/jhannes/java-ee-spike-kata/tree/1-outside-in jhannes.blip.tv/file/3487399/ (10 min)

  12. Hva så dere? Ende-til-ende-test (treg) Jetty, WebDriver

  13. Prinsipp #2: Spesifiser oppførsel github.com/jhannes/java-ee-spike-kata/tree/2-1-servlet-test jhannes.blip.tv/file/3487395/(6 min)

  14. Hva så dere? Mockito, FEST-assert Beskriv formålet med testen Finkornete tester github.com/jhannes/java-ee-spike-kata/blob/commit_per_test/src/test/java/com/brodwall/kata/javaee/PersonServletTest.java

  15. Prinsipp #3: Test tett på koden github.com/jhannes/java-ee-spike-kata/tree/3-equals-test jhannes.blip.tv/file/3487334/ (5 min)

  16. Hva så dere? Test av meningsløs funksjon? Rask bytte mellom test og kode github.com/jhannes/java-ee-spike-kata/blob/commit_per_test/src/test/java/com/brodwall/kata/javaee/PersonTest.java

  17. Prinsipp #4: Dyrk fram et API github.com/jhannes/java-ee-spike-kata/tree/4-search-for-people jhannes.blip.tv/file/3487377/ (8 min)

  18. (Implementer etterpå) github.com/jhannes/java-ee-spike-kata/tree/5-3-person-dao-test/ jhannes.blip.tv/file/3487456/ (7 min)

  19. Hva så dere? Mocking av API før implementering Kode som trenger å refaktoreres! (Never refactor on red!) github.com/jhannes/java-ee-spike-kata/blob/commit_per_test/src/main/java/com/brodwall/kata/javaee/PersonDao.java

  20. Prinsipp #5: Dyrk fram struktur github.com/jhannes/java-ee-spike-kata/tree/5-2-refactoring jhannes.blip.tv/file/3487376/ (3:20 min)

  21. Hva så dere? Hadde allerede refactorer viewene Masser koden med refactoring verktøy github.com/jhannes/java-ee-spike-kata/blob/commit_per_test/src/main/java/com/brodwall/kata/javaee/PersonServlet.java

  22. Prinsipp #6: Det skal virke første gang github.com/jhannes/java-ee-spike-kata/tree/6-getting-it-to-work jhannes.blip.tv/file/3487396/ (5 min)

  23. Hva så dere? Ende-til-ende test tester infrastruktur Koden virker første gang i browser github.com/jhannes/java-ee-spike-kata/blob/commit_per_test/src/test/java/com/brodwall/kata/javaee/PersonWebTest.java

  24. Verktøy JUnit (http://junit.org) Jetty (http://www.mortbay.org) WebDriver (http://code.google.com/p/selenium) FEST-assert (http://easytesting.org/assert/) Mockito (http://mockito.org) Hibernate (http://hibernate.org)

  25. Hva er god programmering? Hva er et godt program?

  26. #1: Bygg utenfra inn #2: Spesifiser oppførsel #3: Test nær koden #4: Dyrk fram API’et #5: Dyrk fram design #6: Det skal virke første gang

  27. Takk for oppmerksomheten Johannes Brodwall Chief Scientist Steria, Norway johannes.brodwall@steria.no http://johannesbrodwall.com http://sterkblanding.no http://jhannes.blip.tv @jhannes www.steria.no

More Related