- download the labs from
git clone https://github.com/carlobonamico/clean-code-design-principles-in-action
or plain "Download Zip" from browser
As developers, we often feel that we are always asked for more: more features, more bugfixes, more code to get our application done, faster. In the workshop you'll learn first hand how applying Clean Code and Design Principles will help you complete solid & maintainable applications in less time.
We are often asked for more features, more bugfixes, faster. But is "running" always the fastest way to get things done? For a mountain climber, "running" means more mistakes, falling off more often,thus proceeding more slowly.
So like a climber gets to the top through a continuous chain of small, safe steps, we can improve coding by making design & implementation steps clean, safe and incremental.
In the workshop, starting from concrete examples, you will learn first hand how applying Clean Code and Design Principles will help you complete more solid & maintainable applications in less time
Basically, to all developers! Independently from the language / platform you are developing on, and from your expertise level, if you are interested in improving your approach to coding, and develop higher quality applications with more productivity, this workshop is for you.
Working knowledge and practical experience in one programming language (you should be able to write/compile/test/debug by yourself a program which reads and parses input and presents output either on the command line or in a simple GUI). Basic knowledge of HTTP.
-
Participants are required to bring their own laptop. The labs require an HTML5 Browser (Chrome or Firefox), text editor or IDE, supporting HTML5, CSS3, JavaScript.
-
Modern Browser (Chrome - Firefox)
Text Editor (Sublime, Atom, Visual Studio Code,...)
and/or IDE (Eclipse, NetBeans, Intellij, Visual Studio,.. )
-
WebStorms / Visual Studio Community
-
python -m SimpleHTTPServer
vs https://code.google.com/p/mongoose/
- How does our code become unmanageable? A practical example
- What can we do about that?
- Clean Code, Design Principles and Lean to the rescue
- Clean Code by example: key concepts
- Concept 1 - Naming
- Concept 2 - Formatting
- Concept 3 - What's in a good function?
- Concept 4 - What's in a good class? Design Principles
- Concept 5 - Making our code Testable
- Concept 6 - Making debug and troubleshooting easier
- Concept 7 - Refactoring
- The principles: quality vs productivity - continuous safe steps
- Incremental development and evolutionary design
- A more complex example - applying the method to real-world problems
- How to continue by yourself: references for further learning
For each module, hands-on lab will include
- quizzes (which of these variants is better? trade-offs)
- interactive examples to complete and modify in an online IDE
-
All Labs and links available at
-
Clean Code: the book
(images/CleanCode.png)
- Yakov Fain - Advanced Introduction to Javascript