Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ChatGPT to generate code metrics, quality indicators to see the improvements based on using SOLID principles. #38

Open
gshiva opened this issue Nov 6, 2023 · 0 comments

Comments

@gshiva
Copy link
Owner

gshiva commented Nov 6, 2023

Use ChatGPT to generate code metrics, quality indicators to see the improvements based on using SOLID principles.

@gshiva gshiva self-assigned this Nov 6, 2023
@gshiva gshiva added this to the Refactoring milestone Nov 6, 2023
gshiva pushed a commit that referenced this issue Dec 17, 2023
This commit introduces pre-commit hooks into our codebase, ensuring
automated quality checks for each new submission. It's a step towards
maintaining a higher standard of code quality and consistency.

Key Highlights:
- Added a `.pre-commit-config.yaml` file to define the hooks.
- Configured hooks include end-of-file-fixer, trailing-whitespace,
  isort, black, flake8, mypy, and pytest.
- Updated `poetry.lock` and `pyproject.toml` to include the necessary
  dependencies for these hooks.
- Developers can set up these hooks locally by running:
  `poetry run pre-commit install`.

The hooks cover various aspects like sorting imports, formatting code,
checking for trailing whitespaces, and more. This will help in catching
issues early and improving the overall health of our codebase.

Addresses #38
Addresses #29
gshiva pushed a commit that referenced this issue Dec 17, 2023
Add Initial Test for pytest Hook Validation

This commit adds a basic test to initiate the testing framework in our
project. The test is a simple assertion to ensure the setup works correctly
and the pytest pre-commit hook passes.

- Added `test_basic.py` with a simple passing test.

This is the first step towards building a comprehensive test suite for
the project.

Addresses #38
Addresses #29
gshiva pushed a commit that referenced this issue Dec 17, 2023
In this commit, tracker.py has been synchronized with main.py to lay
the groundwork for adherence to SOLID principles. This effort is also
geared towards making tracker.py independently testable, enhancing
modularity, and ensuring single responsibility within the codebase.

Key Modifications:
- Aligned the core functionalities and structures of tracker.py with
  those in main.py.
- Streamlined and refined code for better readability and maintenance.
- Ensured both files have a consistent approach towards handling image
  processing and face detection tasks.
- Prepared the codebase for future refactoring that aligns with SOLID
  principles, specifically focusing on the single responsibility and
  open/closed principles.

This update is a proactive step towards improving the code quality and
maintainability of the project, setting a strong foundation for further
enhancements and testing.

Addresses Issues: #38, #29

Testing Done:

Ran `python tracker.py` and made sure that the face recognition worked,
the virtual commands that printed the commands to move and launch the
T-Shirts worked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant