Upload
ruth-sperer
View
90
Download
0
Tags:
Embed Size (px)
Citation preview
Clean Code in Practice -Getting your R&D on Board
Ruth Sperer
Tech Lead @ AT&T Israel
20 years experience in Software Industry
BA in Computer Science - Tel-Aviv University
M.Sc. In Computer Science – UMD
Algorithms in
search engines
speech recognition
image processing
Why Clean Code?
AT&T Israel Center of Excellence
R&D Center
500 Employees
AT&T – a learning organization
2012/3 – Agile
2013/4 – Engineering Practices
Focus Areas
Design
Coding
Unit Testing
and... Continuous Integration
AT&T – Implementing Engineering Practices
• Introductory lecture
• Hands-on workshop
• Team coaching (10 days per scrum)
• Champions naming and training
• “Show and Tell” sessions
The process of restructuring existing computer code without changing its external behavior.
Just like house cleaning..Do it on a regular basisHandle one room at a timeIf it smells, it’s definitely time to
clean..
Code Refactoring - Definition
Code Refactoring – Baby Steps
“Didn’t change a thing” (© Eran Peer)
• Rename
• Extract variable
• Extract method
• Extract interface
• Move
• Introduce parameter
Code Refactoring….. And what if you don’t…
Code Review - Motivation
Definition: The analysis of source code in order to find defects
• Early bug detection
• Knowledge sharing
• Code improvements
• Social communication
• Understanding
Code Review – Practical guide
• Let the tools work for you:• Formatter
• Lint
• Find problems, not solutions
• As a reviewer – be kind
• As a reviewed – leave your ego in the drawer
• Don’t skip it (no valid excuses)
The commitment double edged sword
Real Life Implementation – Process Conflicts
Real Life Implementation – The People
• Keeping the momentum• The champion dilemma
• The various stakeholders• Team
• Tech lead\R&D leader
• Product owner
• Projects manager
• Marketing
• Engage all stake holders
• Include it in your estimations
• Refactoring backlog
• Refactoring in each sprint
• Show it in your demo
• New project – do it right from the start
• It’s a journey..
Real Life Implementation – Solutions
Clean Code MattersTake a Stand
Thank You!Email: [email protected]