Be strict when it matters. Brace style (or other coding conventions)? It doesn't matter. Use the one the shop uses. Breaking encapsulation (or other fundamental programming principles) for no good reason? Not so trivial.
Stack Exchange uses tables for layout (as do many of the other major websites that are making money). Does that make smoke come out of the purists ears? Sure it does. But pragmatism wins out over purity, every time. Shipping product wins out over getting it perfect, every time.
The whole domain layer, persistence layer, presentation layer, unit testing thing is still relatively new, from a historical standpoint. There are boatloads of software out there that still use a Client/Server model, and won't be changed to the latest architectural style just because it is "better."