O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Object Calisthenics; Practices for Writing Object-Oriented C#

3.592 visualizações

Publicada em

According to Wikipedia, Calisthenics are a form of exercise consisting of a variety of simple, often rhythmical, movements, generally without using equipment or apparatus. Since programming without Visual Studio is going to be a bit challenging you can define Object Calisthenics as a programming exercise that uses simple rules to motivate you to take an object-oriented approach to programming. As an experienced developer practicing Test Driven Development I was a bit sceptical of whether I really needed those rules to be a better programmer. But to my surprise those little rules really reinforced my beliefs about building high-quality software using the principles of object-orientation, SOLID and Clean Code. So what are those rules? I won’t tell you…yet. Just come to my session and I’ll let you in on my secrets….

Publicada em: Tecnologia
  • Hello! I can recommend a site that has helped me. It's called ⇒ www.WritePaper.info ⇐ They helped me for writing my quality research paper.
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Object Calisthenics; Practices for Writing Object-Oriented C#

  1. 1. #comdaybeObject CalisthenicsPractices for Writing Object-OrientedAviva SolutionsDennis Doomen
  2. 2. Object…what?Object CalisthenicsObject..ˌka-ləs-ˈthe-niks
  3. 3. Like this?
  4. 4. “…9 rules of thumb that will help pushyour code into good object-orientedshape...”Jeff Bay
  5. 5. So who am I?Principal ConsultantAviva SolutionsFluent AssertionsC# CodingGuidelines@ddoomenTDD, DDD, BDDApplication LifecycleManagementAgileXPwww.dennisdoomen.net
  6. 6. demoOne level of indentation per methodRule 1
  7. 7. demoOne dot per lineDon’t use the else keywordRules 2 & 5
  8. 8. demoWrap all primitives and strings…a.k.a. first-class typesRule 3
  9. 9. demoFirst-class collectionsRule 4
  10. 10. Choose names carefully…not too short…and…not too long…contextualRule 6
  11. 11. Keep all classes small…a.k.a. Single Responsibility PrincipleRule 7
  12. 12. No more than two instance variablesRule 8
  13. 13. demoNo propertiesRule 9
  14. 14. demo…no protected properties…test data builders…more refactoringFinal result
  15. 15. Q&A
  16. 16. Resources• Example Code (original by JohanMartinsson)• Object Calisthenics (by Jeff Bay)• C# Coding Guidelines (by me)• www.dennisdoomen.net (by me…again )• Agile Principles, Patterns, and Practices inC# (by Uncle Bob)
  17. 17. Thank you!Object Calisthenatics