gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-docs] branch master updated (8f8c13e -> 10f8ce8)


From: gnunet
Subject: [GNUnet-SVN] [taler-docs] branch master updated (8f8c13e -> 10f8ce8)
Date: Wed, 18 Sep 2019 19:19:14 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository docs.

    from 8f8c13e  gitignore
     new 8083c62  ignore prebuilt
     new 10f8ce8  style

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 conf.py        |  2 +-
 onboarding.rst | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/conf.py b/conf.py
index 832323b..779f372 100644
--- a/conf.py
+++ b/conf.py
@@ -98,7 +98,7 @@ release = '0.6.0pre1'
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
-exclude_patterns = ['_build', '_exts', 'cf']
+exclude_patterns = ['_build', '_exts', 'cf', 'prebuilt']
 
 # The reST default role (used for this markup: `text`) to use for all
 # documents.
diff --git a/onboarding.rst b/onboarding.rst
index cb3044c..ea0ae83 100644
--- a/onboarding.rst
+++ b/onboarding.rst
@@ -1,6 +1,7 @@
 Developer Onboarding Manual
 ###########################
 
+.. contents:: Table of Contents
 
 Taler installation
 ==================
@@ -385,11 +386,89 @@ Code coverage is done with the Gcov / Lcov
 \*nightly\* (once a day) by a Buildbot worker. The coverage results are
 then published at ``https://lcov.taler.net/``.
 
-Appendix
-========
+
+Coding Style
+============
+
+These are the general coding style rules for Taler.
+
+* Baseline rules are to follow GNU guidelines, modified or extended
+  by the GNUnet style: https://gnunet.org/style
+
+Naming conventions
+------------------
+
+* include files (very similar to GNUnet):
+
+  * if installed, must start with "``taler_``" (exception: platform.h),
+    and MUST live in src/include/
+  * if NOT installed, must NOT start with "``taler_``" and
+    MUST NOT live in src/include/ and
+    SHOULD NOT be included from outside of their own directory
+  * end in "_lib" for "simple" libraries
+  * end in "_plugin" for plugins
+  * end in "_service" for libraries accessing a service, i.e. the exchange
+
+* binaries:
+
+  * taler-exchange-xxx: exchange programs
+  * taler-merchant-xxx: merchant programs (demos)
+  * taler-wallet-xxx: wallet programs
+  * plugins should be libtaler_plugin_xxx_yyy.so: plugin yyy for API xxx
+  * libtalerxxx: library for API xxx
+
+* logging
+
+  * tools use their full name in GNUNET_log_setup
+    (i.e. 'taler-exchange-keyup') and log using plain 'GNUNET_log'.
+  * pure libraries (without associated service) use 'GNUNET_log_from'
+    with the component set to their library name (without lib or '.so'),
+    which should also be their directory name (i.e. 'util')
+  * plugin libraries (without associated service) use 'GNUNET_log_from'
+    with the component set to their type and plugin name (without lib or 
'.so'),
+    which should also be their directory name (i.e. 'exchangedb-postgres')
+  * libraries with associated service) use 'GNUNET_log_from'
+    with the name of the service,  which should also be their
+    directory name (i.e. 'exchange')
+
+* configuration
+
+  * same rules as for GNUnet
+
+* exported symbols
+
+  * must start with TALER_[SUBSYSTEMNAME]_ where SUBSYSTEMNAME
+    MUST match the subdirectory of src/ in which the symbol is defined
+  * from libtalerutil start just with ``TALER_``, without subsystemname
+  * if scope is ONE binary and symbols are not in a shared library,
+    use binary-specific prefix (such as TMH = taler-exchange-httpd) for
+    globals, possibly followed by the subsystem (TMH_DB_xxx).
+
+* structs:
+
+  * structs that are 'packed' and do not contain pointers and are
+    thus suitable for hashing or similar operations are distinguished
+    by adding a "P" at the end of the name. (NEW)  Note that this
+    convention does not hold for the GNUnet-structs (yet).
+  * structs that are used with a purpose for signatures, additionally
+    get an "S" at the end of the name.
+
+* private (library-internal) symbols (including structs and macros)
+
+  * must not start with ``TALER_`` or any other prefix
+
+* testcases
+
+  * must be called "test_module-under-test_case-description.c"
+
+* performance tests
+
+  * must be called "perf_module-under-test_case-description.c"
+
+
 
 Testing library
----------------
+===============
 
 This chapter is a VERY ABSTRACT description of how testing is
 implemented in Taler, and in NO WAY wants to substitute the reading of
@@ -458,3 +537,4 @@ to tamper with the data exchanged by A and B.
 
 Please refer to the Twister codebase (under the ``test`` directory) in
 order to see how to configure it.
+

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]