#Go


В Go, как и везде в IT, действуют шаманские заклинания. Самые важные собраны — в основном со слов Роба Пайка — на особой страничке. Вот их вольный перевод:

  • Избегайте коммуникаций через общую, разделённую память. Наоборот, делитесь данными в памяти через сообщения.
  • Конкурентность и параллелизм — это не одно и то же.
  • Каналы для взаимодействия, мьютексы для разобщения.
  • Чем сложнее интерфейс, тем ненадёжней абстракция.
  • Нулевые значения полезны не меньше других.
  • Пустой интерфейс interface{} не о многом скажет.
  • У всех есть свой годный стиль форматирования кода, стандартное форматирование gofmt — годное для всех.
  • Копирование лучше зависимостей.
  • Защищай системные вызовы в коде тегами сборки.
  • Защищай кросс-вызовы cgo к коду C тегами сборки.
  • Cgo — это не Go.
  • Применяя пакет unsafe, не рассчитывай на какие-либо гарантии.
  • Лучше ясно, чем красиво.
  • Интроспекция ясной не бывает.
  • Значения ошибок — это тоже значения.
  • Недостаточно отлавливать ошибки, нужно их обрабатывать.
  • Полируй архитектуру, внятно называй компоненты, документируй детали.
  • Документация — для пользователей.
  • Не паникуй.

📂 Go | Последнее изменение: 11.08.2024 23:15