SC17042012:ArseniyBurekhin-The Clean Coder

851 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
851
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SC17042012:ArseniyBurekhin-The Clean Coder

  1. 1. A CODE OF CONDUCT FOR PROFESSIONAL PROGRAMMERS
  2. 2. About me Person Name Arseny Burekhin Project Tobii Position Team Leader E-mail arbu@ciklum.com www.ciklum.net 2
  3. 3. The Clean Coder A CODE OF CONDUCT FOR PROFESSIONAL PROGRAMMERS
  4. 4. What I will talk about First, Do Not Harm  Time Management and Work Ethic Estimation Saying No  Collaboration Saying Yes  Mentoring Coding  Tools TDD Practicing Testing Strategies
  5. 5. First, Do Not Harm  Do not harm to function  Do not harm to structure  You must know it works  QA should find nothing
  6. 6. WORK ETHIC• Know your field• Continuous Learning• Practice• Know Your Domain• Identify with Your Employer/Customer
  7. 7. Saying No Adversarial Roles High Stakes Being a “Team Player” Is Good Code Impossible?
  8. 8. SAYING YES• A Language of Commitment• Recognizing Lack Of Commitment• Learning How to Say “Yes”
  9. 9. CODING • Preparedness Code must work Code must solve the problem Code must fit well into the existed system Code must be readable by other programmers • 3 am Code • The Flow Zone • Writer ’s block • Debugging • Pacing yourself • Help
  10. 10. TEST DRIVEN DEVELOPMENT • The Three Laws of TDD • Benefits Certainty Defect Injection Rate Documentation Design
  11. 11. PRACTICING• The Coding DojoKataWasa• Broadening Your ExperienceOpen SourcePractice Ethics
  12. 12. TESTING STRATEGIES•QA Should Find Nothing• QA is part of the team• QA as Specifies• QA as Characterizers
  13. 13. TIME MANAGEMENT &ESTIMATION•BLIND ALLEYS• MEETINGS• TIME BOXING AND TOMATOES• OTHER MESSES• What Is An Estimate ?
  14. 14. COLLABORATION• Programmers versus people• Programmers versus programmers
  15. 15. MENTORING•Degrees of failure• Apprenticeship• Craftsmanship
  16. 16. Tools SOURCE CODE CONTROL IDE / EDITOR ISSUE TRACKING CONTINUOUS BUILD UNIT TESTING TOOLS INTEGRATION TESTING TOOLS
  17. 17. Questions?

×