Есть такой спор касаемо юнит-тестирования и разработки:
👉 Использовать в релизациях "final class" чтобы защититься от непреднамеренных наследований, но тем самым сломать моки в тестах и либо страдать, либо использовать костыли для манки-патчинга убирающие "final" в тестовой среде.
👉 Не использовать "final" чтобы не городить костыли в тестах, но потенциально страдать от нерадивых разработчиков, которые любят понаследовать направо и налево.
// Само собой, это релевантно только там, где есть синтасксис "final", который ломает моки.
CHOOSE YOUR FIGHTER!
- Monkey patching FTW! (0%, 0 votes)
- Долой костыли из тестов, страдаем! (33%, 1 vote)
- Я НЕ БУДУ ВЫБИРАТЬ ВОВСЕ (с придыханием) (66%, 2 votes)
André Polykanine
in reply to Alexey Skobkin • • •Alexey Skobkin
in reply to André Polykanine • • •Тем не менее, это один из методов defensive design.