Зарекался я хабр читать, но друзья же мне пожить спокойно не дадут.
Как автор и мейнтейнер более десятка библиотек и постоянный контрибьютор корки, имею сообщить: хороший код никогда не придется менять.
Думать надо о расширяемости, легкости добавления нового. И то, только в общих чертах. У меня есть библиотеки, которые не менялись годами. Потому что они решают определенную задачу: хорошо, быстро и настраиваемо.
Избыточные тесты — зло. 100℅ покрытие — несомненное зло.