Menu

One Day Clean Code Design Bootcamp

Many design solutions seldom explore the power of Clean Code Design. The fundamentals of Clean Code Design, paves the way for creative and innovative solutions to complex problems. This boot camp is designed to strengthen the core design principles through live demos and hands-on exercises.

Learning Outcome

At the end of this training the team will be able to:

  • Think about the basics of good design and understand why it is desirable.
  • Lay the foundation for more advanced design thinking.


Course Outline

Implementation Patterns

Values of a Good Design

  • Communication, Simplicity,Flexibility

Symptoms of Rotting Design

  • Rigidity, Fragility, Immobility, Viscosity

Programming Principles

  • Local Consequences
  • Minimize Repetition
  • Logic and Data Together
  • Symmetry
  • Thinking in Objects Lab

OO Background and Core OO Concepts:

  • Encapsulation
  • Data Hiding Lab
  • Inheritance
  • Lab to demonstrate limitations of Inheritance
  • 3 Common Ways of Reuse
  • Polymorphism
  • 3 forms of Object Relationships
  • Using appropriate Object Relationship Lab
  • Designing Library vs. Framework
  • Static vs. Dynamic + Strong vs. Weak Typing
Object Orientation Building Blocks

OO Design Principles

Core Principles

  • Open Closed Principle (OCP) + Lab
  • Single Responsibility Principle (SRP)
  • Tell, Don't Ask (TDA) + Lab
  • Don't Repeat Yourself (DRY)
  • Dependency Inversion Principle (DIP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Law of Demeter
  • Lab to recap all design principles
Object Oriented Design Principles


Strongly Recommended

1 or 2 Days of Mentoring via Pair Programming with Developers on your code base

  • To get your team kick-started with the learning from the workshop, we recommend, that our trainer spends a day or two, working with your team on your code base.
  • Each day will be reserved for 4 pair programming sessions. During these sessions, the workshop participants will take specific examples from their projects, where they are finding it difficult to apply any of the practices learned in the workshop. The trainer will then pair with an individual to show how to resolve those challenges.
  • At the end of the day, the 4 volunteers will summarize their learning by showing before and after code from their respective pairing session to the rest of the group.

Pre-Post Programming Assessment

The goal of these programming assessments is to identify real and quantifiable measures for the learning achieved through our workshop.

Objective

  • Get a quick understanding of your knowledge and skill level with respect to Designing & Programming
  • Establish a baseline against which the effectiveness of the workshop may be measured
  • Customize our workshop based on specific areas identified in this assessment

Pre-Assessment

  • Before the workshop, we'll send a problem description, your developers will spend max 4 hours and solve the problem and send us the code. We'll evaluate the code and send you detailed feedback about the code, including areas for improvement. We can send different types of problems (fresh development, cleaning up existing code and so on.)

Post-Assessment

  • 2 week after the workshop, we send another problem and evaluate the solution code. A comparison between the Pre and Post Assessment should be able to clearly quantify per-participant level improvement.
  • Click on the image to download the sample report...
  • Programming Assessment Sample Report

Training Details

Method of Instruction

Interactive Dialogues, Programming Exercises and Demos

Transfer %

Knowledge: 50%, Skill-Building: 50%

Target Audience

Primary: Object-Oriented Programmers, Architects, and Designers

Course Level

Intermediate to Advanced

Course Prerequisites

  • Required: some understanding of OO concepts and an OO language
  • Highly Recommended: basic understanding of the life-cycle of software projects

General Requirements

To ensure a successful workshop, we require the following facilities:

  • HDMI projector (1024x768 minimum) & Projector screen
  • 1 White board & Dry erase markers
  • Cluster seating with 5-6 people on each table
  • 1 Flip chart with the stand and marker pens for each table
  • Notepad and Pen for each participant
  • Ample room for students in terms of room size and set up
  • For Dev trainings: at least one powerful workstation between two programmers

Development Tools

C/C++

Ruby

PHP

Flex

Our Complete Training Guide

Trainings

Contact Us

Reach out to start a conversation

Send Us A Message

Sending...
Something went wrong. Please try again.
Your message was sent, thank you!

Contact Info

Where to Find Us

No 20, 12th Cross
Bengaluru, KA
560002 IN