SWCS - Software Craftsmanship and Clean Code - is a course offered at the University Nuernberg and the University Ansbach. The program aims to deepen students knowledge and practical skills in software quality, and familiarize them with tools and procedures used in industry.
This repository containts the code for the course Software Craftsmanship and Clean Code at the universities:
Deepening of knowledge and practical skills in the field of software quality. Getting knowledge in tools and procedures from practice.
Students acquire in-depth knowledge and skills for the analysis, assessment, and improvement of software quality. You will be able to apply principles, patterns, techniques, and tools needed to write clean code.
Ability to think complex, ability to work independently, analysis and solution of problems.
Software testing is not limited to a specific phase of the project. Already during the coding phase or the system build process-critical and difficult to find software defects in the source code can be detected. The necessary procedures and tools are presented in the lecture.
Among other things, the following topics will be covered:
- Overview of the basics of software quality
- Software metrics, metric application in practice
- Structured design, cohesion, and coupling
- Overview of Principles, Best Practices, and Code Smells
- Compliance and verification of Java code conventions
- Static software testing, especially review techniques and static program analysis
- Ensure software quality with tools such as SonarQube, PMD, SpotBugs, Checkstyle, Spotless, EqualsVerifier, ArchUnit, Taikai, jQAssistant, Renovate and Dependency-Track
- Software tests with JUnit, Mockito, Hamcrest, AssertJ, Data Faker, Instancio and Testcontainers
- Checking the test code coverage
- Backstage, Naikan
- CI/CD
- Design Principles
- Design Patterns (GoF)
clone https://github.com/mnhock/swcs.git
- Import as Maven project
Exercises can be found here.
A Hands-on Guide to Understand the Fundamentals of Software Craftsmanship and Clean Code in Java.
A Hands-on Guide to write Clean Code in Java. This book is a subset of the Book Clean Code Fundamentals.
You can buy both books as a bundle here.