Комментарии:
That's some rich advice coming from the guy who wrote a book full of promoting overengineering ("clean code").
ОтветитьI want to hate the advice in the video... but... yeah... refactor when stuff isn't making sense anymore and new use cases need to be supported.
I think the power of this video is to be able to excuse not using interfaces and complex abstractions on each and every little thing and being able to counter "but what if we X later" and to be able to squash that ever so present indecision... when there is a need to support multiple things, then you add the support for multiple things.
which is fair enough I think.
I once worked for a company that had a guy whose whole job was to design an application. He didn't even have a computer. He just sat at his desk all day writing design documents. For years. Ultimately he was fired, all of his work was scrapped, and they started over with a new design. My boss said that if they had tried to implement the system he had designed, by the time it was finished man would no longer be in corporeal form.
ОтветитьIf I had a nickle every time "free" overengineering saved my a**, I would be very rich man.
By "free" I mean something that didn't materially increased development time. Sometimes it's a matter of making slightly different turn.
You usually do know what you will need tomorrow, in a week or two. Sometimes you know what you'll need in month or two. Creating abstractions to make your future self life easier is just common sense. Adding them when needed causes expensive regression retest.
True, unit tests cause overengineering.
Ответить