Skip to content

Latest commit

 

History

History
25 lines (18 loc) · 1.6 KB

02_Red_Flags.md

File metadata and controls

25 lines (18 loc) · 1.6 KB

Red Flags 🚩

Background

In software development and engineering, red flags are indicators of potential problems that may arise during the development process or after the software has been released. These warning signs can include incomplete or unclear requirements, poor communication, inadequate testing, insufficient documentation, poor quality code, and a lack of consideration for security. It's important to identify these red flags early in the development process to avoid delays, cost overruns, and other problems that could impact the success of the project.

Examples of red flags

  • Repetition: a piece of code is repeated over and over
  • Information Leakage: same knowledge is used in multiple places (e.g. two different classes unterstand a particular format)
  • Shallow Module: a class or method whose interface is almost as complex as its implementation (in german we call this "Klasseritis")
  • Conjoined Methods: two methods are tightly coupled and unable to understand by its own
  • ...

Also See Red_Flags_List for more detailed examples.

Assignment 🎯: Identify Red Flags 🚩

  1. Develop a comprehensive list of potential red flags for software development, using the list provided above as a starting point.
  2. Analyze the code base to identify as many red flags as possible.
    1. Start with the module Core
    2. Proceed with the module DomainServices
    3. Then continue with the module Infrastructure
    4. If there is time left, also check the Web and API module
  3. Propose and implement solutions to address the identified red flags through code refactoring.