Training: Clean Code, TDD, BDD Crash Course (Go)
Booking
Duration: 2 Days
Contact: Siddhesh Nikude
Inquire via E-Mail
Phone: +91-95-52572354
Scheduled
- 2018-06-27, Munich, Germany
- 2018-09-24, Chennai, India
Available Languages
- English
- German
Audience
Software Crafters: Software Developers, Architects.
Precondition
Good knowledge of Go.
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;
go test
/testing
- 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
- Anatomy of xUnit Frameworks;
- 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
- Godog
- Assertions with Nelkinda
assert-go
- Reusing Feature Files on different levels of the test pyramid
- Managing Godog in large projects
- Assertions with Nelkinda
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
- Golang (also available in C#, C++, Java, JavaScript, Kotlin, and Scala)
- IDE
- IntelliJ IDEA (Eclipse, GoLand, NetBeans, Atom, Visual Studio Code)
- Unit Test Framework
- go
testing
(TestNG, JUnit 5, JUnit 4, JUnit 3, ScalaTest, NUnit, Visual Studio Testing Framework, Mocha) - BDD Framework
- Godog (Cucumber, Fit, FitNesse, JBehave, JDave, Concordion, SpecFlow)
Scheduled
- 2018-06-27, Munich, Germany (In-House Training)
- 2018-09-24, Chennai, India (In-House Training)