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.
- 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.
- Develop a comprehensive list of potential red flags for software development, using the list provided above as a starting point.
- Analyze the code base to identify as many red flags as possible.
- Start with the module
Core
- Proceed with the module
DomainServices
- Then continue with the module
Infrastructure
- If there is time left, also check the
Web
andAPI
module
- Start with the module
- Propose and implement solutions to address the identified red flags through code refactoring.