mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
update readme
This commit is contained in:
parent
ea4f150455
commit
6ef8d976eb
2 changed files with 14 additions and 17 deletions
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue