-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
wontfixThis will not be worked onThis will not be worked on
Description
Description
To maintain high standards of code quality and consistency in our codebase, I propose implementing pre-commit hooks. These hooks will automate checks and formatting tasks, ensuring all committed code follows our project guidelines. A key aspect of this proposal is the standardization of docstrings to follow the Google Python Docstring format.
Proposed Pre-commit Hooks
- Code Formatting (Black/Prettier): To ensure consistent code formatting across all contributions.
- Linting (flake8/ESLint): To detect coding errors, enforce coding standards, and identify potential bugs.
- Type Checking (mypy/TypeScript): For validating type annotations in our code.
- Dependency Checking: To keep track of outdated or insecure dependencies.
- Docstring Formatting: Enforces Google Python Docstring format for consistency and clarity in documentation.
Implementation Strategy
- Install Pre-commit Framework: Use the
pre-commitframework for managing these hooks. - Configure Hooks: Create a
.pre-commit-config.yamlfile to specify our chosen hooks. - Integrate with Existing Workflow: Update our contribution guidelines to include steps for setting up pre-commit hooks locally.
Benefits
- Consistent Code Style: Ensures that all contributions follow the same style guide.
- Improved Code Quality: Catches common coding mistakes and improves overall code health.
- Streamlined Development Process: Reduces the time spent on reviewing code for stylistic and basic quality issues.
- Enhanced Readability and Maintainability: Clear, standardized documentation for all code.
Metadata
Metadata
Assignees
Labels
wontfixThis will not be worked onThis will not be worked on