Files
mcaselector-lite/docs/dev/correct-c.md

1.1 KiB

Correct C

A monster list about bad code practices for the absolute beginners. Things obviously should be taken with a grain of salt, just stating the obvious.

  • Functions without parameters will be defined with void in the parameter list, as opposed to leaving it empty. (e.i. (void) rather than ())
  • (public-facing) names mustn't be prefixed with _, this is a reserved identifier.
  • typedefs mustn't be suffixed with _t, this is a POSIX reserved identifier.
  • typedefs are discouraged, unless the name alias is clear in what it stores. (e.i. u32 for a 32 bit unsigned integer)
  • Functions should do one thing, and do it well.
  • inline functions should serve as a replacement for macro definitions, don't put things in here that you wouldn't put in a macro. (block ≤5 lines)
  • Mark all implementations in a *.c file with static if there isn't a matching definition in a *.h file. (unless there's a clear reason to)
  • When a function parameter takes in a pointer, and does not modify the pointed at data, a const pointer should be used. (const int *ptr)
  • Try to limit yourself at ~112 columns, but generally avoid overly long lines.