Giter Site home page Giter Site logo

raiyan2000 / ece1145--nuclearwarelephants-yrj- Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 196 KB

HotCiv is a simple Civilization-style game that is used to demonstrate various software design patterns and principles using TDD.

License: Other

Java 99.89% HTML 0.11%
game-development software-testing software-maintenance

ece1145--nuclearwarelephants-yrj-'s Introduction

HotCiv: Demonstrating Software Design Patterns and Principles with Test-Driven Development (TDD)

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.

๐Ÿš€ Motivation

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?

๐Ÿ’ก Principles and Tools

  • 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.

๐ŸŒŸ Results and Design Patterns

  • 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.

๐Ÿš€ Quick Start

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

ece1145--nuclearwarelephants-yrj-'s People

Contributors

raiyan2000 avatar passion4fashion avatar supersquids12 avatar knbocan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.