This repository is an example template of how to layout a Python project using test driven development (TDD).
SeekerShout is a program to print formatted lines in a file where words in the line contain a substring.
Example
ss.sh path/to/file
Expected Output
[word word]
[word]
- user must input a path
- user must input one argument
- files must not contain lines with over 1 million characters
- file must not have empty rows
- file must contain the search term at the end of the file
- files must be ASCII text files
- Python 3.7 or higher setup with VENV support
- make must be installed
- tail must be installed
Once all prerequisites are installed a command can be run to setup the environment.
make setup
To test the code is up to standard
make setup_dev
make test
If I could continue developing and improve the project further
- Linting using pylint
- Code formatter using black
- Convert THOUGHTS.md to proper documentation
- Structure the tests using groups
- Test for more extreme conditions, i.e. a line with 1 million characters
If I could go back and do the project differently
- Git init at the beggining and commit meaningful milestones in the project. i.e. docs complete, tests complete ...