2 ms·
The main problem with top-down programming that I have understood is that it tends to lead to non-DRY code (i.e. functions repeat the same logic and patterns).
by pederbl 14y ago
The main problem with top-down programming that I have understood is that it tends to lead to non-DRY code (i.e. functions repeat the same logic and patterns). I have noticed that my code becomes much more DRY with this new approach because it becomes more obvious when I am repeating functionality/patterns and it becomes easier to break such functionality/patterns out to become generalized global functions when appropriate. This is especially true for patterns since local variables are often the main reason for why patterns do not tend to get separated out into new functions.
- lmm 14y agoNope; the problem is that it gives you more opportunity to make mistakes, because you're not using your freedom effectively. Your low-level functions are generally far more constrained than your high-level ones (you often have complete freedom over main()); by writing them first you make the constraints on your high-level program design more apparent before you write it, and reduce the risk of structuring your high-level functions wrongly.