Being good developers and designers, we typically define reusable features like a navigation bar or a footer and include them in multiple pages of our design. In PHP we might use “includes”. In a web application framework like Ruby on Rails, we have our “layouts” and our “partials”. But too often, we prematurely reach for those tools.
Having a layout saves me a lot of time. Especially if I have to refactor something. Imagine having a navigation bar on each page but then needing to add another link in it. If the navigation wasn’t in some kind of resuable layout, I’d be opening up dozens of files just to edit the same thing over and over.
Saving time is great for me, but is that optimization actually solving a problem my customer has?