Boolean arguments indicate that a function does more than one thing E.g. "if this reason, then do thing 1, else do thing 2" - shows that thing 1 and thing 2 should be their own functions.
void doThing1(int arg1, bool doConditionalThing) { statement a; statement b; if (doConditionalThing) { do extra stuff here } }
Could be broken up as
void doThing1(int arg1) { statement a; statement b; } void doExtraStuff() { do extra stuff here }