About me Person Name Arseny Burekhin Project Tobii Position Team Leader E-mail firstname.lastname@example.org www.ciklum.net 2
The Clean Coder A CODE OF CONDUCT FOR PROFESSIONAL PROGRAMMERS
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
First, Do Not Harm Do not harm to function Do not harm to structure You must know it works QA should find nothing
WORK ETHIC• Know your field• Continuous Learning• Practice• Know Your Domain• Identify with Your Employer/Customer
Saying No Adversarial Roles High Stakes Being a “Team Player” Is Good Code Impossible?
SAYING YES• A Language of Commitment• Recognizing Lack Of Commitment• Learning How to Say “Yes”
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
TEST DRIVEN DEVELOPMENT • The Three Laws of TDD • Benefits Certainty Defect Injection Rate Documentation Design
PRACTICING• The Coding DojoKataWasa• Broadening Your ExperienceOpen SourcePractice Ethics
TESTING STRATEGIES•QA Should Find Nothing• QA is part of the team• QA as Specifies• QA as Characterizers
TIME MANAGEMENT &ESTIMATION•BLIND ALLEYS• MEETINGS• TIME BOXING AND TOMATOES• OTHER MESSES• What Is An Estimate ?
COLLABORATION• Programmers versus people• Programmers versus programmers
MENTORING•Degrees of failure• Apprenticeship• Craftsmanship
Tools SOURCE CODE CONTROL IDE / EDITOR ISSUE TRACKING CONTINUOUS BUILD UNIT TESTING TOOLS INTEGRATION TESTING TOOLS