4 ms·
> I’ve been an engineer for over 7 years now. I have worked on countless projects If you've worked on countless projects in 7 years, that means no single proje
by henning 2y ago
> I’ve been an engineer for over 7 years now. I have worked on countless projects
If you've worked on countless projects in 7 years, that means no single project was that big or long.
> Refactoring a relatively big software, for example, with over 70,000 lines of code, can take 30-40 hours
I admire the author's ability to casually introduce completely arbitrary definitions of "relatively big" and that "refactoring" 70,000 SLOC only takes "30-40 hours" without giving any information about what the nature of the refactoring is.
> Now imagine if we didn’t implement a good architecture from the beginning
This post does nothing to define what "good architecture is" or prove that adding additional indirection helps anything. Code re-use is about more than just not putting query and service call logic in a controller method. The contrived examples about adding logging to a codebase that has no logging (why does the app have no logging? why does it need to be added now when it didn't before?) only makes sense if every part of the application conforms to the same interface you've introduced. Considering that a large application may have many different features and do lots of different tasks, this may not happen in which case you need one interface for each situation or create some stupid abstract thing that can handle everything.
The stupid pre-commit setup makes it impossible to share a branch you're working on if you can't figure out why a test won't pass and want to get help from someone on your team. Or you have a WIP codebase where tests are broken and want to pass it off or show it to someone else.