Forbid breaking lines inside the two branches of the ternary operator
and nesting them. Using it in these instances does not help readability.

Signed-off-by: Peter Krempa <pkre...@redhat.com>
---
 docs/hacking.html.in | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/hacking.html.in b/docs/hacking.html.in
index a2800853ef..fc4adae354 100644
--- a/docs/hacking.html.in
+++ b/docs/hacking.html.in
@@ -847,6 +847,17 @@ BAD:
     if (!nfoos)
     if (foos)
 </pre>
+      <p>New code should avoid the ternary operator as much as possible.
+        Specifically it must never span more than one line or nest:
+      </p>
+<pre>
+BAD:
+    char *foo = baz ?
+                virDoSomethingReallyComplex(driver, vm, something, baz->foo) :
+                NULL;
+
+    char *foo = bar ? bar->baz ? bar->baz->foo : "nobaz" : "nobar";
+</pre>

     <h2><a id="preprocessor">Preprocessor</a></h2>

-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to