STYLE: added 10 rules reference

This commit is contained in:
Emma Tebibyte 2024-07-19 17:31:51 -06:00
parent 22bb26b9cb
commit f7ebe7cf57
Signed by: emma
GPG Key ID: 06FA419A1698C270

25
STYLE
View File

@ -84,8 +84,33 @@ library crates. Group alike statements:
use strerror::StrError; use strerror::StrError;
use sysexits::{ EX_OSERR, EX_USAGE }; use sysexits::{ EX_OSERR, EX_USAGE };
11. Do not use do while loops in C.
12. Follow the rules from the paper The Power of 10: Rules for Developing
Safety-Critical Code [0]:
1. Avoid complex flow constructs, such as goto and recursion.
2. All loops must have fixed bounds. This prevents runaway code.
3. Avoid heap memory allocation.
4. Restrict functions to a single printed page.
5. Use a minimum of two runtime assertions per function.
6. Restrict the scope of data to the smallest possible.
7. Check the return value of all non-void functions, or cast to void to
indicate the return value is useless.
8. Use the preprocessor sparingly.
9. Limit pointer use to a single dereference, and do not use function
pointers.
10. Compile with all possible warnings active; all warnings should then be
addressed before release of the software.
References
==========
[0] <https://web.eecs.umich.edu/~imarkov/10rules.pdf>
-- --
Copyright © 2024 Emma Tebibyte <emma@tebibyte.media> Copyright © 2024 Emma Tebibyte <emma@tebibyte.media>
Copyright © Wikipedia contributors
This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit
<http://creativecommons.org/licenses/by-sa/4.0/>. <http://creativecommons.org/licenses/by-sa/4.0/>.