Should I create less subroutine in code for uC like MSP430
in terms of memory usage?
For example, I create code like CASE-A and CASE-B.
//----------------------------
// CASE-A
static void routineA(void)
{
bool res1;
bool res2;
res1 = do_procA();
if (res) {
res2 = do_procB();
do_procC(res2);
} else {
res2 = do_procD();
do_procE(res2);
}
res1 = do_procG();
if (res) {
res2 = do_procH();
do_procI(res2);
} else {
res2 = do_procJ();
do_procK(res2);
}
}
//----------------------------
or
// CASE-B
static void doingAtoE(void)
{
bool res1;
bool res2;
res1 = do_procA();
if (res1) {
res2 = do_procB();
do_procC(res2);
} else {
res2 = do_procD();
do_procE(res2);
}
}
static void doingGtoK(void)
{
bool res1;
bool res2;
res1 = do_procG();
if (res1) {
res2 = do_procH();
do_procI(res2);
} else {
res2 = do_procJ();
do_procK(res2);
}
}
static void routineA(void)
{
doingAtoE();
doingGtoK();
}
//----------------------------
two routines, only auto-variables (res1 and res2) are used.
For the readability (maintanability) of the code, I prefer CASE-B.