# Security Programming Final Project ## DCL36-C. Do not declare an identifier with conflicting linkage classifications ### TL;DR Do not redeclare anything. ### Detailed C allow redeclare same identifier, but it might cause some problem. > I don't know why do you need redeclare identifier, I've never had this situation ### Reference https://wiki.sei.cmu.edu/confluence/display/c/DCL36-C.+Do+not+declare+an+identifier+with+conflicting+linkage+classifications ## DCL37-C. Do not declare or define a reserved identifier ### TL;DR When you name something *similar to a reserved identifier*, they might conflict. ### How to avoid it - Don't name anything prefixed with underscore - Don't name things like some macro (like `SIZE_MAX`, `LONG_MIN`, etc.) that used in C standard library. - Don't name things like some *rules no one knows* > One of the rules no one knows: > Macro names beginning with `INT` or `UINT` and ending with `_MAX`, `_MIN`, or `_C` may be added to the macros defined in the `<stdint.h>` header. (C Standard, 7.31.10) > ex. `INTBANGBANG_MAX` - **Please just use the automated tools provided below** ### Reference and Tools https://wiki.sei.cmu.edu/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier > Tips: <kbd>Ctrl</kbd> + <kbd>F</kbd> `Automated Detection`