Welcome to the Fix My Code Challenge, a series of coding challenges designed to test your understanding of programming concepts and software engineering best practices.
The challenges in this repository are intended to simulate real-world scenarios where you might be given a codebase to troubleshoot and debug. Each challenge consists of a broken codebase with a set of specific issues that need to be fixed.
./
├── challenge_0/
│ ├── main.py
│ ├── tests/
│ │ └── test_main.py
│ └── README.md
├── challenge_1/
│ ├── main.py
│ ├── tests/
│ │ └── test_main.py
│ └── README.md
├── challenge_2/
│ ├── main.py
│ ├── tests/
│ │ └── test_main.py
│ └── README.md
├── challenge_3/
│ ├── main.py
│ ├── tests/
│ │ └── test_main.py
│ └── README.md
└── challenge_4/
├── main.py
├── tests/
│ └── test_main.py
└── README.md
This repository contains five directories, one for each challenge. Each challenge directory contains a broken codebase, a set of test cases to validate the code, and a README file with instructions on how to complete the challenge.
To begin, select a challenge directory and follow the instructions in the README file to fix the codebase. For each challenge, you will be given a set of test cases to validate your solution. These test cases are located in the tests directory and can be run using Python's unittest framework.
To run the tests for a specific challenge, navigate to the challenge directory and run the following command:
python -m unittest discover -v
This will run all the tests in the tests directory and provide verbose output.
If you would like to contribute to this repository, please submit a pull request. Before submitting a pull request, please ensure that your code follows the coding style guidelines and passes all the existing test cases.
- Use PEP 8 style guidelines.
- Use meaningful variable names.
- Use spaces instead of tabs for indentation.
- Keep lines less than 80 characters long.
- Write docstrings for functions and modules.
This project is licensed under the MIT License - see the LICENSE file for details.