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);
}
  • Alphenex53@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    It is just preference and consistency with other APIs imo. However, personally when I see LEDEnable or LEDDisable I feel like a teeny tiny bit more will happen inside the function meanwhile LEDState is like only changing a variable or something. Also I would like LED_Set(bool enabled) or if there are more LED_SetEnabled(bool b) better.