Say I have a system that I want to enable or disable, what do you think is best: to write two separate functions EnableSystem() and DisableSystem() OR have a singular function with the parameter to indicate the desired state, SystemState(bool state)?
I was wondering if there is a standard for this or a preference?
I would argue that having two separate functions is better since different things might happen under those functions but what if it is the situation where it really is just as simple as a 1 or a 0. Example if we have an LED we want to turn on an off it would just be passing the value of the parameter state.
Situation one:
void LEDEnable() {
GPIOPinSet(LED_PIN, true);
}
void LEDDisable() {
GPIOPinSet(LED_PIN, false);
}
Situation two:
void LEDState(bool state) {
GPIOPinSet(LED_PIN, state);
}


I would use an enum. Booleans are bad, because they don’t tell you what
truemeans. And specifically named functions are bad, because you cannot pass them through the codebase as data (without resorting to entirely functional patterns).I mean, your examples are in C, which has shit enums that are just integers, so at runtime you won’t know either what a

1is without context.And I believe the compiler doesn’t stop you either from passing a different enum or just an integer into a parameter with that enum as type.
But at least it’ll be written in the code what you hope to get passed, so…