Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Object Calisthenics; Practices for Writing Object-Oriented C#

3.593 Aufrufe

Veröffentlicht am

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….

Veröffentlicht in: Technologie
  • 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.
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

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