]> sigrok.org Git - libsigrok.git/commitdiff
HACKING: separate assignment from program flow, endianess helpers
authorfenugrec <redacted>
Wed, 30 Nov 2022 14:27:20 +0000 (09:27 -0500)
committerGerhard Sittig <redacted>
Sun, 19 Feb 2023 16:49:32 +0000 (17:49 +0100)
HACKING

diff --git a/HACKING b/HACKING
index 9d71c55c11d0fa240b7eb3b5f32b83e0b20a095c..2d9abe954e565aa5075853c5477b3c1dfde0e2f4 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -79,6 +79,9 @@ Random notes
  - Generally avoid assigning values to variables at declaration time,
    especially so for complex and/or run-time dependent values.
 
+ - Separate assignments from control flow. Example: Avoid the pattern
+   if (var = func()) {...}  as it complicates review and maintenance.
+
  - Consistently use g_*malloc() / g_*malloc0(). Do not use standard
    malloc()/calloc() if it can be avoided (sometimes other libs such
    as libftdi can return malloc()'d memory, for example).
@@ -95,6 +98,9 @@ Random notes
    Do use g_try_malloc() or g_try_malloc0() for large (>= 1MB) allocations
    and check the return value.
 
+ - Endianness conversion: Prefer the common helpers that are provided in
+   libsigrok-internal.h, such as read_u16be() etc.
+
  - You should never print any messages (neither to stdout nor stderr nor
    elsewhere) "manually" via e.g. printf() or g_log() or similar functions.
    Only sr_err()/sr_warn()/sr_info()/sr_dbg()/sr_spew() should be used.