lab-metrics-maksktl created by GitHub Classroom
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
e-maks b9b05eaa83 lab metrics 2 years ago
.github lab metrics 2 years ago
app lab metrics 2 years ago
.gitignore lab metrics 2 years ago
LICENSE Initial commit 2 years ago
README.md add deadline 2 years ago
poetry.lock lab metrics 2 years ago
pyproject.toml lab metrics 2 years ago

README.md

Review Assignment Due Date

Hangman Game

Python console app hangman game based on the code by Mark Patterson

Install dependencies and run

  1. pip install poetry
  2. poetry install
  3. poetry run python app/hangman.py

Lab "Static analysis and Metrics" Assignment

Important instructions

  1. do not move/delete the source files from the folders
  2. you may refactor functions, but you must keep the signatures of the all original functions (e.g. hangman(), splash_screen(), get_random_word())
  3. the orginal functionality must remain
  4. Submission: commit and push your changes to the current project to GitHub
  5. do not edit autograding or classroom files

Note: the autograding is simplified on purpose, it will be overwritten after the submission deadline with additional tests

Note: if you add tests, all tests should pass for final submission

Style check

  1. Install flake8
  2. Analyse the app/hangman.py
  3. Correct all errors
  4. All default flake8 checks must pass
  5. Add flake8 check to the GitHub CI as an action to .github/workflows/main.yaml

Note: all the source code files in the project must pass the the default flake8 check.

Complexity analysis

Cyclomatic complexity is a part of maintainability index. The recommended complexity for functions is 10.

  1. Analyse complexity of app/hangman.py,
  2. Refactor as needed.
  3. Add complexity threashold check (i.e. 10 for max complexity) to GitHub CI as an action to .github/workflows/main.yaml

Note: autograding will check the complexity of all the source code files after the submission deadline in postprocessing.

Hints