4 ms·
If requirements change next week, I change the code ... next week. I don't change code now to be prepared for something that may or may not happen. > but at l
by usrbinbash 4y ago
If requirements change next week, I change the code ... next week. I don't change code now to be prepared for something that may or may not happen.
> but at least it should isolate chunks that can be understood with little effort.
The chunks are easier to understand. But the laundry list function that calls them isn't because it's logic is now spread over 10 different functions.
- Dudeman112 4y ago>The chunks are easier to understand. But the laundry list function that calls them isn't because it's logic is now spread over 10 different functions That's... the point of abstractions and programming languages. At work you don't regularly care how System.out.println() is implemented, do you? If we follow your way of thinking through all we would have would be binary. Maybe assembly. The whole point of having programming languages and functions is having high level descriptions of what it is doing without having to worry about the implementation unless we have to. Now, maybe the 1000 lines of code is actually ultra specific and has no bearing at all on everything else, but that's not really common. Could also be that the 1000 lines are more data structure than code. There is a level of abstraction that's conducive to understanding stuff. Going at higher level costs obscuring implementation details, going at lower level costs making it hard to understand what it does. One thousand lines of code is probably way too low level. Chunking those 1000 lines into smaller abstractions is already what your brain will do when trying to make sense of it (because the cache is small for abstractions and concepts that aren't already internalized)