summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-05-09 11:35:24 +0700
committerhathach <[email protected]>2013-05-09 11:35:24 +0700
commit363b22a55de585acbed2ef0e9e105ba4d40b8b4e (patch)
treeda3a60889ea4cc2adc4d7dbdcc7b6a0c430d9264
parent797d464ec454ef3f3111e055a48ef23619f02b98 (diff)
add todo.md
-rw-r--r--readme.md22
-rw-r--r--todo.md5
2 files changed, 19 insertions, 8 deletions
diff --git a/readme.md b/readme.md
index c85a2fc51..9bcf38548 100644
--- a/readme.md
+++ b/readme.md
@@ -61,7 +61,6 @@ C is a dangerous language by itself, plus tinyusb make use of goodies features o
- [MISRA-C](http://www.misra-c.com/Activities/MISRAC/tabid/160/Default.aspx)
- [Power of 10](http://spinroot.com/p10/)
- [Jet Propulsion Laboratory (JPL) for C](http://lars-lab.jpl.nasa.gov)
-- ...
Where is possible, standards are followed but it is almost impossible to follow all of these without making some exceptions. I am pretty sure this code base violates more than what are described below, if you can find any, please report it to me or file an issue on github.
@@ -88,19 +87,26 @@ one of my favorite rule
3. *`Do not use dynamic memory allocation after initialization`*
the tinyusb uses the static memory for all of its data.
-4. **`Limit functions to no more than 60 lines of text`** 60 is a little bit too strict, I will update the relaxing number later
+4. **`Limit functions to no more than 60 lines of text`**
+60 is a little bit too strict, I will update the relaxing number later
-5. *`Use minimally two assertions per function on average`* not sure the exact number, but I use a tons of those assert
+5. *`Use minimally two assertions per function on average`*
+not sure the exact number, but I use a tons of those assert
-6. *`Declare data objects at the smallest possible level of scope`* one of the best & easiest rule to follow
+6. *`Declare data objects at the smallest possible level of scope`*
+one of the best & easiest rule to follow
-7. *`Check the return value of non-void functions, and check the validity of function parameters`* I did check all of the public application API's parameters. For internal API, calling function needs to trust their caller to reduce duplicated check.
+7. *`Check the return value of non-void functions, and check the validity of function parameters`*
+I did check all of the public application API's parameters. For internal API, calling function needs to trust their caller to reduce duplicated check.
-8. **`Limit the use of the preprocessor to file inclusion and simple macros`** Although I prefer inline function, however C macros are far powerful than that. I simply cannot hold myself to use, for example X-Macro technique to simplify code.
+8. **`Limit the use of the preprocessor to file inclusion and simple macros`**
+Although I prefer inline function, however C macros are far powerful than that. I simply cannot hold myself to use, for example X-Macro technique to simplify code.
-9. *`Limit the use of pointers. Use no more than two levels of dereferencing per expression`* never intend to get in trouble with complex pointer dereferencing.
+9. *`Limit the use of pointers. Use no more than two levels of dereferencing per expression`*
+never intend to get in trouble with complex pointer dereferencing.
-10. *`Compile with all warnings enabled, and use one or more source code analyzers`* I try to use all the defensive option of gnu, let me know if I miss some.
+10. *`Compile with all warnings enabled, and use one or more source code analyzers`*
+I try to use all the defensive options of gnu, let me know if I miss some.
>-pedantic -Wextra -Wswitch-default -Wunsafe-loop-optimizations -Wcast-align -Wlogical-op -Wpacked-bitfield-compat -Wpadded -Wnested-externs -Wredundant-decls -Winline -Wpacked
### JPL ###
diff --git a/todo.md b/todo.md
new file mode 100644
index 000000000..7cd4e36ae
--- /dev/null
+++ b/todo.md
@@ -0,0 +1,5 @@
+# TODO #
+
+- [ ] display SHA commit on demo
+- [ ] guideline for create a new issue
+- [ ] make some doxygen documentation