Training: Clean Code, TDD, BDD Crash Course (JavaScript)
Booking
Duration: 2 Days
Contact: Siddhesh Nikude
Inquire via E-Mail
Phone: +91-95-52572354
Available Languages
- English
- German
Audience
Software Crafters: Software Developers, Architects.
Precondition
Good knowledge of JavaScript.
Goals
Learn how to develop software better using Clean Code, TDD, and BDD.
Contents
- Clean Code Introduction
- Clean Code and Scrum/XP
- The Two Values of Software
- The 5 Design Smells
- Clean Code Basics
- Form and Names
- Functions and Function Structure
- Programming Paradigms Revisited
- Clean Architecture: Principles of Object-Oriented Class Design
- Coupling and Cohesion
- SOLID Principles
- Package Principles
- The 4 Rules of Simple Design
- Refactoring
- Goals
- Techniques (rename, move, extract, convert, etc)
- Protect against regression
- Legacy code: Characterization testing, seams, sprouts, etc
- Test Basics
- Testing and Scrum/XP
- The Test Automation Pyramid
- Test Automation, Testing, and CI/CD
- Test-Driven Design
- Anatomy of xUnit Frameworks; Mocha
- Definition of Testable
- The Three Laws of TDD
- The Red-Green-Refactor Cycle
- The Red-Green-Refactor-Commit Cycle
- The Test-Commit-Revert Cycle (TCR)
- Principles of TDD
- Advanced TDD
- The Transformation Priority Premise, Test Sequence
- Test-Doubles, Mocking
- Stateism vs Mockism
- How TDD drives an emergent design
- Behavior-Driven Development
- The Gherkin Language, Feature Files
- Integrating and Mapping BDD in Scrum/XP - Acceptance Test-Driven Development
- Cucumber
- Step Definitions
- Assertions
- Reusing Feature Files on different levels of the test pyramid
- Managing Cucumber in large projects
In open classroom training, we use a specific set of tools listed below. In brackets are alternatives to which we can tailor the training in case of in-house training.
- Language
- JavaScript (also available in C#, C++, Golang, Java, Kotlin, and Scala)
- IDE
- WebStorm (Atom, Visual Studio Code)
- Unit Test Framework
- Mocha
- BDD Framework
- Cucumber