update readme

This commit is contained in:
Damien Elmes 2020-05-11 14:30:56 +10:00
parent ea4f150455
commit 6ef8d976eb
2 changed files with 14 additions and 17 deletions

View file

@ -10,27 +10,25 @@ not an easy task - the code is tightly coupled together, not fully covered
by unit tests, and mostly dynamically typed, meaning even small changes by unit tests, and mostly dynamically typed, meaning even small changes
carry the risk of regressions. carry the risk of regressions.
So to start with, the primary focus is on changes that will make future At the moment, the focus is on changes that will make future maintenance and
maintenance and refactoring easier - improving tooling and linting, static refactoring easier - migrating parts of the codebase to Rust, improving tooling
type checking, more unit tests, and so on. Contributions that move the code in and linting, type hints in the Python code, and more unit tests.
this direction or fix bugs would be appreciated.
If you would like to add a new feature or alter existing functionality in the New features are not currently the top priority, unless they are easy wins as
Python code, please reach out on the support site before you begin work, as part of the refactoring process.
some changes may be more appropriately done in an add-on instead.
Please hold off on large refactoring projects for now, as it risks introducing If you are planning to contribute any non-trivial changes, please reach out
bugs, and many addons currently rely on certain variable/method names and on the support site before you begin work. Some areas (primary pylib/) are
type signatures. If you're working on an isolated part of the codebase likely to change/conflict with other work, and larger changes will likely need
covered by unit tests, then such changes may be accepted, but larger changes to wait until the refactoring process nears completion.
are less likely to be at this time.
Type hints Type hints
----------- -----------
Type hints have recently been added to parts of the codebase, mainly using Type hints have recently been added to parts of the Python codebase, mainly
automated tools. At the moment, large parts of the codebase are still missing using automated tools. At the moment, large parts of the codebase are still
type hints, and some of the hints that do exist are incorrect or too general. missing type hints, and some of the hints that do exist are incorrect or too
general.
When running 'make check', Anki uses mypy to typecheck the code. Mypy only When running 'make check', Anki uses mypy to typecheck the code. Mypy only
checks functions that have type signatures, so adding more type signatures to checks functions that have type signatures, so adding more type signatures to

View file

@ -43,8 +43,7 @@ Subcomponents
- pylib contains a Python module (anki) with most of the non-GUI code. - pylib contains a Python module (anki) with most of the non-GUI code.
- qt contains the Qt GUI implementation (aqt). - qt contains the Qt GUI implementation (aqt).
- rspy contains a Python module (ankirspy) for accessing the Rust code. - rspy contains a Python module (ankirspy) for accessing the Rust code.
- rslib contains the parts of the code implemented in Rust. This - rslib contains the parts of the code implemented in Rust.
is only a tiny subsection at the moment.
- proto contains the interface used to communicate between different - proto contains the interface used to communicate between different
languages. languages.