Contributing¶
Coding guideline¶
- Dependencies
- Files from
libi2pd
must not depend on files fromlibi2pdclient
andi2pd
. - Files from
libi2pdclient
can depend on files fromlibi2pd
but not oni2pd
. You can find it in the fileslist.mk - You can use C++11, but make sure code is buildable by
gcc 4.6
- Don't reinvent a wheel.
- Try to find appropriate solution in std or boost.
- If a feature is presented in both, use std.
- Don't bring any additional dependency without discussion.
- However
boost
,openssl
andzlib
can be used in any amount. - No requirements for formatting or coding style. You can do whatever you like.
- When you work with binary data, mind endianness. Use functions from
I2PEndian.h