-
Notifications
You must be signed in to change notification settings - Fork 2
/
CONVENTIONS
14 lines (13 loc) · 951 Bytes
/
CONVENTIONS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
This document is a list of code conventions and design desicions of the project.
* Use of Serializer vs BinaryMarshaller/Unmarshaller because of varying byte
lengths of various fields like Varint, Varstring, Message, Signature etc.
* DeserializeFailedError gives field names with first letter uppercased when
the same field is assigned to the struct somehow. Lower case means that it isn't
assigned and usually represents lengths of respective fields.
* Tests that involve running POW have a short TTL so that they can be run with
reasonable correctness. Extensive testing of POW is done in its own package.
* If objects that have signatures do not have valid signatures, they're going to
be represented as corrupt objects and discarded.
* The aim isn't 100% testing code coverage but coverage of general/most used
cases. This can result in failures but it's very time consuming to write all
tests. If someone wants to help with this, please step in.