aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2018-04-05 23:03:26 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2018-04-05 23:25:07 +0200
commitb119e7873304eb2f0bee3dd9e2f22c5c9001d899 (patch)
treeec7389f7475517afe964688054a50a8c4bf8ecdd /doc
parent5f0c6a7b0e47e03f848dc992d37fe209dd9c6975 (diff)
downloadbitcoin-b119e7873304eb2f0bee3dd9e2f22c5c9001d899.tar.xz
docs: Fix conflicting statements about initialization in developer notes
Diffstat (limited to 'doc')
-rw-r--r--doc/developer-notes.md27
1 files changed, 12 insertions, 15 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index b00cceb987..c9fe3a7ab4 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -450,12 +450,21 @@ C++ data structures
- Vector bounds checking is only enabled in debug mode. Do not rely on it
-- Make sure that constructors initialize all fields. If this is skipped for a
- good reason (i.e., optimization on the critical path), add an explicit
- comment about this
+- Initialize all non-static class members where they are defined.
+ If this is skipped for a good reason (i.e., optimization on the critical
+ path), add an explicit comment about this
- *Rationale*: Ensure determinism by avoiding accidental use of uninitialized
values. Also, static analyzers balk about this.
+ Initializing the members in the declaration makes it easy to
+ spot uninitialized ones.
+
+```cpp
+class A
+{
+ uint32_t m_count{0};
+}
+```
- By default, declare single-argument constructors `explicit`.
@@ -474,18 +483,6 @@ C++ data structures
- *Rationale*: Easier to understand what is happening, thus easier to spot mistakes, even for those
that are not language lawyers
-- Initialize all non-static class members where they are defined
-
- - *Rationale*: Initializing the members in the declaration makes it easy to spot uninitialized ones,
- and avoids accidentally reading uninitialized memory
-
-```cpp
-class A
-{
- uint32_t m_count{0};
-}
-```
-
Strings and formatting
------------------------