HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Uncle Bob Martin's Clean Code: Agile Software Craftsmanship (CLEAN-CODE-01-02)
CODE: CLEAN-CODE-01-02          DURATION: 2 DAY/S
Looking for Uncle Bob's 3-day version of this course in London or Dublin? - click here for details!

Even bad code can function. But if code isn't clean, it can bring a development organisation to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way?

In this two-day Clean Code Workshop you will learn the principles and practices of Clean Code as described in Robert C. Martin's book: Clean Code: A Handbook of Agile Software Craftsmanship. You will also receive this book as part of the course materials.

This Clean Code wokshop alternates between lecture and exercise so that you can experience, first-hand, the practices and disciplines of these fundamental topics.

Topics
  • Professionalism, Craftsmanship, and Clean Code.
  • Choosing Meaningful Names
  • Writing Clean Functions
  • The Proper Use of Comments
  • Coding Style and Formatting
  • Object Oriented Programming vs. Procedural Programming.
  • Error Handling
  • Boundaries between Subsystems
  • Unit testing, and Test Driven Development
  • Writing Clean Classes
  • Systems
  • Plan vs. Emergence
  • Concurrency
  • Smells and Heuristics.

LEARN HOW TO:
  • Develop an attitude of professional craftsmanship.
  • Tell the difference between good and bad code.
  • Create write good code and transform bad code into good code.
  • Create good names, good functions, good objects, and good classes.
  • Format code for maximum readability.
  • Implement complete error handling without obscuring code logic.
  • Apply effective unit testing and refactoring techniques.
PROGRAMME
DAY ONE
Clean Code
  • There Will Be Code
  • Bad Code
  • The Total Cost of Owning a Mess
  • The Grand Redesign in the Sky
  • What is Clean Code?
  • A review of expert opinions.
  • Schools of Thought
  • The Boy Scout Rule
Meaningful Names
  • Use Intention Revealing Names
  • Avoid Disinformation
  • Make Meaningful Distinctions
  • Use Pronounceable Names
  • Use Searchable Names
  • Avoid Encodings
  • Avoid Mental Mapping
  • Class Names
  • Method Names
  • Don’t be Cute
  • One Word per Concept
  • No Puns
  • Solution Domain Names
  • Problem Domain Names
Functions
  • Small!
  • Do One Thing.
  • One Level of Abstraction
  • Switch Statements
  • Function Names (again).
  • Arguments and Parameters
  • Side Effects
  • Command Query Separation
  • Exceptions
  • DRY – Don’t Repeat Yourself.
Structured Programming
  • Comments
  • Why and When to Write Comments
  • Explain Yourself in Code
  • Good Comments
  • Bad Comments
  • Formatting
  • The Purpose of Formatting
  • Vertical Formatting
  • The Newspaper Metaphor
  • Horizontal Formatting
Summary

DAY TWO
  • Objects and Data Structures
  • Data Abstraction
  • Data/Object Anti-symmetry
  • The Law of Demeter
  • Data Transfer Objects
Error Handling
  • Use Exceptions not Return Codes
  • Write your try/catch Statements First
  • Use Unchecked Exceptions
  • Provide Context with Exceptions
  • Define Exception Classes for Callers
  • Define Normal Flow
  • Don’t Return Null
  • Don’t Pass Null
Boundaries
  • Using Third Party Code
  • Exploring and Learning Boundaries
  • Learning Log4J
  • Learning Tests are Better than Free
  • Using Code that Does Not Yet Exist.
  • Clean Boundaries
Unit Tests
  • The Three Laws of TDD
  • Keeping Tests Clean
  • Domain Specific Testing Language
  • One Assert
  • F.I.R.S.T.
Classes
  • Class Organization
  • Small Classes
  • The Single Responsibility Principles (SRP)
  • Maintaining Cohesion
  • Organizing for Change
Smells and Heuristics
Dozens and dozens of them.

Conclusion.
NEXT SESSION
The next course will be delivered at The Skills Matter eXchange - London, on 08 Jul 2013 by Uncle Bob (Robert C. Martin). Uncle Bob is also the author of this course.
COURSE DATES & REGISTRATION
Date City Cost (ex vat) Offer
08-07-13 London £1495.00 - Book Online Now
Book Online or Call Sales on +44 (0)207 1839040
ABOUT THE AUTHOR
Robert Martin (@unclebobmartin) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Developm
More about Uncle Bob (Robert C. Martin)
IN PARTNERSHIP WITH CLEAN CODERS
IS THIS COURSE FOR YOU?
If you are Java/C#/C++ developers and want to improve your ability to contribute to your company and your team by writing better code then Uncle Bob Martin's Clean Code workshop is for!

COURSE PREREQUISITES
For this Clean Code workshop, you are required to have your own laptop with the following:
- Preferred IDE
- 2GB ram
- Browser

Please contact Ivana at Skills Matter should you need help with this.

COURSE LABS & EXERCISES
This Clean Code workshop is an exercise-driven course. Each topic is driven home through the use of hands-on exercises in which you must work together to write new code, or alter existing code to resolve, enhance and improve the quality of the code.

COURSE DATES & REGISTRATION
Date City Cost (ex vat) Offer
08-07-13 London £1495.00 - Book Online Now
Book Online or Call Sales on +44 (0)207 1839040
© Copyright 2003-2013, Skills Matter Ltd
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Open Source Journal  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship  Jobs: HR Manager  jobs-Join Our Dev Team  DevOps Engineer  Front-End Engineer  Test Engineer