Вы используете интерфейсы в Go неправильно!.
Комментарии (3)
12 июля 2017 в 20:38
0↑
↓
С таким громким заголовком я думал сначала написать статью.
С таким громким заголовком вы её и написали.) Простите, не удержался12 июля 2017 в 21:12
0↑
↓
Примеров бы, в частности часто приводят тезис о том, что для всего и вся определяют интерфейсы для тестирования, для применения моков. Или, еще чаще, что с интерфейсами «правильнее».
А так, да. И люди с парой лет опыта на golang часто не понмают, что единственный случай, когда надо определять интерфейс на стороне пакета и реализации, это когда пакет сам же потребляет свой интерфейс.12 июля 2017 в 21:23
0↑
↓
Если так определять интерфейсы, то код заодно становится тестируемым, потому что в тестах можно определять темтовые реализации интерфейсов и передавать их как аргументы в тестируемые методы и функции.