Code Quality Learn, Measure And Organize Awareness

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Code Quality Learn, Measure And Organize Awareness - Presentation Transcript

      • Code Quality :
      • Learn, Measure and Organize Awareness
      Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    1. JAIBEER MALIK
      • 2004 B.Tech from IIT KGP
      • Total 5 years of IT Experience in software development
      • Former Employers: Sapient, Globallogic
      • Currently working as Senior Consultant with Xebia
      • Certified Scrum Master
      • Experienced in: Java, J2ee, Unix, Flex, Distributed Agile.
      • Thumb rule: Delivering Quality solution to all software problems
      • Hobbies: Swimming, Basketball, Volleyball, Cricket...Sports
      • Web: http://jaibeermalik.wordpress.com
      • Profile: http://www.linkedin.com/in/jaibeermalik
      Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    2. 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
    3. Common Questions (Developer)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    4. Common Questions (Manager)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    5. Common Questions (Team)? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    6. 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
    7. Code Quality - WTFs? Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    8. 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
    9. 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
    10. 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
    11. 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
    12. 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
    13. 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
    14. Static Code Analysis
      • Why Static Code Analysis (SCA)?
      • Code Coverage Measurement Tools
        • Clover, Cobertura
      • SCA Tools
        • PMD, FindBugs, Sonar, Simian, CheckStyle, Metrics, XRadar
      • How to use SCA tools
        • Integrate with build process (ant/mvn target)
        • Separate quality build
      • Enforce Quality
        • Svn pre-commit handlers
      Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    15. PART III: Organize Awareness
      • Code Quality as Knowledge/Learning
      • Why to share with-in team?
      • Share and Organize
        • Pair-Programming
        • Share on wiki
        • Coding standards documents
        • Quality watch dog
        • Fix it and let people know
        • Technical Debt
      Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    16. Organize Awareness: As Team
      • Few points to keep in mind as team
        • Pair-up more
        • On-going process
        • Share in positive way
        • Motivate people to fix it and share
        • Talk more about quality
        • Quality watch dog on rotation basis
        • Continuous watch on technical debt
      Jaibeer Malik Code Quality: Learn, Measure and Organize Awareness http://jaibeermalik.wordpress.com
    17. References
      • Jai's Weblog:
        • http://jaibeermalik.wordpress.com/2009/04/12/code-quality-learn-measure-and-organize-awareness/
        • http://jaibeermalik.wordpress.com/2009/04/12/code-quality-learn-oops-desing-patterns-clean-code-and-refactoring/
        • http://jaibeermalik.wordpress.com/2009/04/12/code-quality-measurement-static-code-analysis-tools/
        • http://jaibeermalik.wordpress.com/2009/04/12/code-quality-organizing-awareness-with-in-the-team/
      • TSS:
        • http://www.theserverside.com/news/thread.tss?thread_id=54245
      • InfoQ:
        • http://www.infoq.com/news/2009/06/code-quality-for-teams
      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
    18. 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
    SlideShare Zeitgeist 2009

    + Jaibeer MalikJaibeer Malik Nominate

    custom

    263 views, 1 favs, 1 embeds more stats

    Code Quality - Learn, Measure and Organize Awarenes more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 263
      • 229 on SlideShare
      • 34 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds
    • 34 views on http://jaibeermalik.wordpress.com

    more

    All embeds
    • 34 views on http://jaibeermalik.wordpress.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories