Как улучшить качество декомпозиции в Go?
При проектировании своего кода неприлично долго думаю над тем что нужно вынеси в отдельный пакет, а что достаточно вынести в отдельную структуру. В более ООП языках (C#, да простят меня боги C++) у меня или не возникает такой проблемы, или возникает, но в меньшей степени. Поэтому вопрос, как можно улучить навык декомпозиции в Go и в целом ? Хотелось бы услышать о курсах, ресурсах, книгах или просто ваши советы по данному вопросу. Спасибо.