---
# System prepended metadata

title: Security Programming Final Project

---

# 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`