This page documents things to have in mind when coding and refactoring and general directions we want to head to. Related to: #8847.
Topics to address
- use of underscores to identify private modules.
- reflect soledad client general purpose on client code.
- remove
leap.
from soledad namespace. - move to only one python package instead of 3.
General principles
- avoid mixing renaming/moving files and content modifications.
- only refactor if refactoring would make writing a feature or solving a bug easier.
- prefer smaller changes, so eventually this leads to bigger changes.
- have a recursive dependency approach to refactoring (i.e. to refactor this i have to first refactor there).
Proposed tree
Rules:
- ...
This is a work in progress.
client/
api.py
crypto.py
db/
__init__.py
_adbapi.py
_pipes.py
_pragmas.py
_sqlite.py
blobs.py
document.py
sqlcipher.py
events.py
http.py
interfaces.py
sync/
__init__.py
_http_target.py
secrets/
__init__.py
_auth.py
_crypto.py
_shared_db.py
_storage.py
_util.py
_version.py
server/
...
common/
...
Notes:
-
secrets/_auth
andsecrets/_shared_db
should be replaced by a simpler `secrets/_remote