А вы знали, что в языке Go есть свои заклинания?
https://go-proverbs.github.io/0. Избегайте коммуникаций через общую, разделённую память. Наоборот, делитесь данными в памяти через сообщения.
1. Конкурентность и параллелизм — это не одно и то же.
2. Каналы для взаимодействия, мьютексы для разобщения.
3. Чем сложнее интерфейс, тем ненадёжней абстракция.
4. Нулевые значения полезны не меньше других.
5. Пустой интерфейс interface{} не о многом скажет.
6. У всех есть свой годный стиль форматирования кода, стандартное форматирование gofmt — годное для всех.
7. Копирование лучше зависимостей.
8. Защищай системные вызовы в коде тегами сборки.
9. Защищай кросс-вызовы cgo к коду C тегами сборки.
10. Cgo — это не Go.
11. Применяя пакет unsafe, не рассчитывай на какие-либо гарантии.
12. Лучше ясно, чем красиво.
13. Интроспекция ясной не бывает.
14. Значения ошибок — это тоже значения.
15. Недостаточно отлавливать ошибки, нужно их обрабатывать.
16. Полируй архитектуру, внятно называй компоненты, документируй детали.
17. Документация — для пользователей.
18. Не паникуй.
Я думаю, эти заклинания подходят для многих языков программирования. 😊