Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flickersoul/sdp-cw2-tdd-analysis
https://github.com/flickersoul/sdp-cw2-tdd-analysis
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/flickersoul/sdp-cw2-tdd-analysis
- Owner: FlickerSoul
- Created: 2023-11-22T22:59:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-05T14:02:02.000Z (12 months ago)
- Last Synced: 2024-01-05T15:25:51.311Z (12 months ago)
- Language: Jupyter Notebook
- Size: 161 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SDP-CW2-TDD-Analysis
This project analysis patterns for software development using the TDD paradigm. The full repository can be found [here](https://github.com/FlickerSoul/SDP-CW2-TDD-Analysis).
## Usage
This project uses [Poetry](https://python-poetry.org/) for dependency management.
### Install With Poetry
To install dependencies, run:```bash
poetry install
```To spawn virtual environment, run:
```bash
poetry shell
```### Install Without Poetry
```bash
python -m venv ./venv # create virtual environment
source ./venv/bin/activate # activate virtual environment
pip install -r requirements.txt # install dependencies
# do whatever you want
deactivate # deactivate virtual environment when you exit
```## Development
The project uses [pre-commit](https://pre-commit.com/) to run checks before commits.
Please install the hooks before start developing```bash
# after installing poetry and the dependencies
poetry run pre-commit install --hook-type pre-commit
```This project uses [ruff](https://docs.astral.sh/ruff/) for style formatting. Please install corresponding
plugins to your IDE to enable automatic formatting.
The instructions can be found [here](https://docs.astral.sh/ruff/integrations/#integrations)## Project Structure
### Repo Data Collection
The repo data should be cloned locally with [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
The git repositories located under `test_submodules` are used for analysis.
### Rationale For Using Submodules
Using submodules allows us to mine the data locally without experiencing network issues and latencies. In addition, git tracks the specific comomit used for each submodule. This means we can analysis consistetnt data sets without management overhead.