python-mysql-replication-kr / python-mysql-replication

MySQL Replication Protocol Client in Python
10 stars 2 forks source link

Add typing #60

Open soulee-dev opened 1 year ago

soulee-dev commented 1 year ago

Issue: #434 (julien-duponchelle/python-mysql-replication)

soulee-dev commented 1 year ago

Description

Adding typing support to the python-mysql-replication library could significantly improve code quality and maintainability. Type annotations help developers understand code more quickly, prevent certain errors, and allow modern IDEs to provide better tooling and auto-completion.

Scope

I am suggesting to add typing gradually throughout the codebase, starting with the core modules and gradually extending to other areas. This approach will allow us to ensure that the changes are solid and working as expected.

Proposal

Here's a rough outline of the proposed changes:

  1. Add type hints to core classes and functions in the project.
  2. Utilize mypy or other static type checking tools to enforce type consistency.
  3. Gradually apply typing to other parts of the codebase.
  4. Update documentation to reflect the newly added types.

And if you agree with this proposal, I'll write a PR quickly to start implementing the changes. Your support and collaboration in this enhancement would be greatly appreciated.

soulee-dev commented 1 year ago

아마도 볼륨이 클것 같은데, 같이 해보면 좋을거 같아요~~!

dongwook-chan commented 1 year ago

같은 코드 정적 분석 계열 이슈인데, 인스턴스 변수인데도 불구하고 init에서 초기화가 안 될 경우 해당 변수에 대한 정적 분석이 동작하지 않을 수도 있습니다. 족보 없는 인스턴스 변수들도 색출해내면 좋을 것 같습니다!