Rules:
6.4.a. All functions that encapsulate threads of execution (a.k.a., tasks, processes) shall be given names ending with “_thread” (or “_task”, “_process”).
Example:
void
alarm_thread (void * p_data)
{
alarm_t alarm = ALARM_NONE;
int err = OS_NO_ERR;
for (;;)
{
alarm = OSMboxPend(alarm_mbox, &err);
// Process alarm here.
}
}
Reasoning: Each task in a real-time operating system (RTOS) is like a mini-main(), typically running forever in an infinite loop. It is valuable to easily identify these important, asynchronous functions during code reviews and debugging sessions.
Enforcement: This rule shall be followed during the detailed design phase and enforced during code reviews.