I once dealt with code that looked like this pattern (sorry for the giant vertical size of this post):
DO_F() {
A;
B;
C;
D;
B;
C;
D;
E;
F;
A;
B;
C;
D;
G;
H;
I;
J;
A;
B;
C;
H;
I;
// a bunch more
}
So I suggested, "hey perhaps you should break this into functions" and got back:
DO_F() {
A;
B;
C;
D;
B;
C;
D;
E;
F;
A;
state.a = a;
state.b = b;
// ... for other state
return DO_F2(state)
}
DO_F2(state);
B;
C;
D;
G;
H;
I;
state.a = a;
//...
return DO_F3(state);
}
DO_F3();
J;
A;
B;
C;
G;
H;
I;
// a bunch more
}
When I suggested blocks such as B; C; D; or G; H; I; could be functions, and perhaps a loop could be useful too, the guy looked at me like I was trying to do voodoo and got really defensive about how that couldn't possibly work.
I think that is what the OP meant by bulldozer code...