HotCiv is a Civilization-style game designed to showcase various software design patterns and principles using Test-Driven Development (TDD). This project aims to provide insights into software development processes, software evolution, and maintaining high software quality standards.
HotCiv was developed to address key questions in software development, such as:
- What are the steps in a typical software development process?
- How does software evolution impact product quality?
- What practices contribute to writing maintainable software?
- How are these activities organized in a company or typical programming journey?
- Followed three main standards from ISO 25010:
- Maintainability (ISO 9126): Capability of software to be modifiable
- Reliability (ISO 9126): Maintain a specified level of performance
- Changeability (ISO 9126): Change by addition and not modification
- SOLID Principles: Ensuring code quality and extensibility.
- Extreme Programming (XP): Following TDD to maintain high test coverage and code quality.
- Git Version Control: Leveraging Git for efficient collaboration and version management.
- IntelliJ and JUnit: Utilizing industry-standard tools for development and testing.
- Code Coverage: Achieving a commendable 93% code coverage.
- Design Patterns Utilized: Including Compositional Design, STRATEGY Design, Abstract Factory, and Decorator.
- Testing Methods: Employing systematic and unit testing to ensure robustness.
- Integration with MiniDraw Framework: Demonstrating integration skills with external frameworks.
Clone the repository:
git clone https://github.com/Raiyan2000/ece1145--NuclearWarElephants-YRJ-.git
Navigate to this directory:
src/main/java/hotciv/visual
Run this file:
ShowSemiCiv.java