Presentation laddar. Vänta.

Presentation laddar. Vänta.

KONSTEN ATT SKRIVA BRA ÅTERANVÄNDBAR KOD Pierre Setteskog, Pontus Munck 2012-06-08.

Liknande presentationer


En presentation över ämnet: "KONSTEN ATT SKRIVA BRA ÅTERANVÄNDBAR KOD Pierre Setteskog, Pontus Munck 2012-06-08."— Presentationens avskrift:

1 KONSTEN ATT SKRIVA BRA ÅTERANVÄNDBAR KOD Pierre Setteskog, Pontus Munck 2012-06-08

2  Syfte/bakgrund  Grundregler och designmönster  Domändriven design  Anti-patterns  Guidelines  Testdriven utveckling  Diskussion INNEHÅLL

3 Syfte  Enkelt att underhålla  Smidigt att vidareutveckla  Minimera buggar vid ny funktionalitet  Förenkla enhetstestning  Varför: I tider då kunder kräver mer och mer och ren produkt utveckling ibland kan bli för kostsam och tom Alphalib.  Hinder: Plattform,kunskap, invanda företags mönster,roller. När skall man skriva återanvändbar kod.

4 Lär dig ditt verktyg!  Resharper,Productivity Power Tools,.Net Reflector

5 Lär dig ditt verktyg!  Kör mot debug kompilerat, inkludera.pdb och peka ut källfilerna.

6 Lär dig ditt verktyg!

7 Grundregler  SOLID  Design patterns / Anti-patterns  KISS DRY YAGNI  Böcker –Refactoring – Martin Fowler –Clean Code – Robert C Martin  Autofac eller DI tänk  ”If its not broken dont fix” it” vs Write once read many”

8 SOLID  Single responsibility principle  Open/Closed principle  Liskov substitution principle  Interface segregation principle  Dependency inversion principle

9 Autofac  Ta in alla externa beroenden genom konstruktorn. (Förutom string )  Registrera interface,abstrakt klass, klass, mest ärvda klass osv i uppstart. Autoregistrering,Multitenanty,Cache Decorate klass.  Func (Funkar inte automatiskt i gammal autofac)  Lazy (Funkar inte i gamla Autofac)  IEnumerable IEnumerable (Kräver att man registrerar builder.RegisterModule(new ImplicitCollectionSupportModule());)

10 Domändriven design  Koncept –Domain model (POCO)  Entity, Value object, Aggregate –Service  Hanterar operationer ”utanför” domänen –Repository  Hanterar lagring av modellen –Factory  Affärslogik – ändras sällan  Infrastruktur – ändras oftare  Rekommenderad bok –Eric Evans – Domain Driven Design

11 Anti-patterns  Vanligt förekommande –Hardcoding –Magic numbers –Spaghetti code  God object / Monster object  Singleton object (statisk klass)

12 Guidelines  Använd komposition istället för arv  Undvik statiska klasser  Hollywood principle –Don’t call the container, it will call you!  Lägg inte alla knivarna i ett fack och alla gafflarna i ett annat.  Dokumentera på fågelperspektiv nivå och kluriga delar.  Försök göra så mycket som möjligt med så lite kod som möjligt och skriv tydlig kod  Refaktorera

13 Testdriven utveckling  Enklare + snabbare utveckling / test  Möjliggör säker refactoring  Specifikation + verifikation  API design  Dokumentation + exempelkod


Ladda ner ppt "KONSTEN ATT SKRIVA BRA ÅTERANVÄNDBAR KOD Pierre Setteskog, Pontus Munck 2012-06-08."

Liknande presentationer


Google-annonser