Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Agenda
Common Questions
Code Quality?
Part I: Learn
Part II: Measure
Part III: Organize Awareness
References
Questions
Feedback
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Common Questions (Developer)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Common Questions (Manager)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Common Questions (Team)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Code Quality?
#Source_code_quality
“ A computer has no concept of "well-written" source code. However, from a human point of view source code can be written in a way that has an effect on the effort needed to comprehend its behavior. Many source code programming style guides, which often stress readability and usually language-specific conventions are aimed at reducing the cost of source code maintenance.”
Complaining about Other People's Code
“ W hen we first encounter a new software system we are, in Dunning and Kruger’s terminology, incompetent compared to the programmers that wrote it.”
Things you should never do
“ It’s harder to read code than to write it.”
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Code Quality - WTFs? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
PART I: Learn
Focus On Fundamentals
Start with Basics
Material
Games
How to write Clean Code
Figure out bad smells and improve code
WTFs and Refactoring
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Focus On Fundamentals
Start with Basics
Design Principles (S.O.L.I.D.)
OOA/OOD/OOP
Design Patterns
Enterprise Integration Patterns
Anti Patterns
Material (e.g. Head First Design Patterns)
Games
Patterns Poker, Name that Pattern
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Clean Code & Refactoring
How to write clean code
Clean Code
Implementation Patterns
Code Complete
Figure out bad smells and improve code
WTFs?
Refactoring: Improving the design of Existing code
Refactoring Catalog
Refacotring Tools
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
PART II: Measure
Common Problems
Common Measurement Criteria
Measurement Tools
Static Code Analysis
Why SCA?
SCA Tools
Enforce Quality
WARNING!!!
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Common Problems
Code Duplication
Big Size files
Unhandled exception
Large cyclomatic complexity
Infinite Loops
Dead code
Unused variables, parameters, method, classes
Test coverage
Coding standards violations
...
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Common Measurement Criteria
Cyclomatic Complexity
Coupling
Abstractness
Stability
Cyclic Dependencies
Maintainability Index
ReUse ratio
...
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
?
Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
Feedback!!! [email_address] [email_address] Follow me @ http://twitter.com/jaibeermalik http://friendfeed.com/jaibeermalik Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
0 comments
Post a comment