|
|
Refactoring Soledad
|
|
|
===================
|
|
|
|
|
|
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
|
|
|
auth
|
|
|
crypto
|
|
|
db
|
|
|
__init__
|
|
|
_adbapi
|
|
|
_pipes
|
|
|
_pragmas
|
|
|
_sqlite
|
|
|
blobs
|
|
|
document
|
|
|
sqlcipher
|
|
|
events
|
|
|
http
|
|
|
interfaces
|
|
|
sync
|
|
|
__init__
|
|
|
_http_target
|
|
|
secrets
|
|
|
__init__
|
|
|
_crypto
|
|
|
_shared_db
|
|
|
_storage
|
|
|
_util
|
|
|
_version
|
|
|
server
|
|
|
...
|
|
|
common
|
|
|
...
|
|
|
``` |