mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 02:55:50 +00:00
52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
--------------------------------------------------------------------------------
|
|
|
|
Naming
|
|
|
|
Some names don't make sense.
|
|
|
|
LedgerAcquire
|
|
Not a noun.
|
|
Is it really an InboundLedger ?
|
|
Does it continue to exist after the ledger is received?
|
|
|
|
Inconsistent names
|
|
|
|
We have full names like SerializedType and then acronyms like STObject
|
|
Two names for some things, e.g. SerializedLedgerEntry and SLE
|
|
|
|
Shared/Smart pointer typedefs in classes have a variety of different names
|
|
for the same thing. e.g. "pointer", "ptr", "ptr_t", "wptr"
|
|
|
|
Verbose names
|
|
|
|
The prefix "Flat" is more appealing than "Serialized" because its shorter and
|
|
easier to pronounce.
|
|
|
|
Ledger "Skip List"
|
|
|
|
Is not really a skip list
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Interfaces
|
|
|
|
Serializer
|
|
|
|
Upon analysis this class does two incompatible things. Flattening, and
|
|
unflattening. The interface should be reimplemented as two distinct
|
|
abstract classes, InputStream and OutputStream with suitable implementations
|
|
such as to and from a block of memory or dynamically allocated buffer.
|
|
|
|
The name and conflation of dual roles serves to confuse code at the point
|
|
of call. Does set(Serializer& s) flatten or unflatten the data? This
|
|
would be more clear:
|
|
bool write (OutputStream& stream);
|
|
|
|
|
|
|
|
Implementation
|
|
|
|
LoadManager
|
|
|
|
What is going on in the destructor
|