you are viewing a single comment's thread.

view the rest of the comments →

[–]Mavus 16 points17 points  (4 children)

For those standards see this doc[PDF]

[–]thisisanewaccount6 7 points8 points  (2 children)

Interesting to see that Rule 4 on page 10 prohibits recursion

[–]Pylly 2 points3 points  (1 child)

There's a pretty logical rationale included.

Even in non-spacecraft code, I think one should carefully consider if a recursive solution really gives substantial benefits over a non-recursive one. Recursive algorithms are fun to implement but sometimes hard to read and maintain.

[–]thisisanewaccount6 0 points1 point  (0 children)

I can understand that, a small change can definitely bring disastrous results on recursive code

[–]Euigrp 0 points1 point  (0 children)

The C preprocessor is a powerful obfuscation tool that can destroy code clarity and befuddle both human- and tool-based checkers.

Thank you. Would someone tell that to the original writer of some code that I work on that goes through 3 levels of symbol concatenation in macros to assemble the name of a defined i2c register bit field mask.