Notice: file_put_contents(): Write of 23420 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Библиотека Go-разработчика | Golang@goproglib P.5943
GOPROGLIB Telegram 5943
📋 Чек-лист по синтаксису Go

Для разработчика на Go важно не только написать работающий код, но и сделать его понятным, чистым и соответствующим идиомам языка.

Составили для вас чек-лист, который поможет ускорить разработку в разы за счёт правильного и чистого кода.

Основы синтаксиса

• Используется правильный package — каждый файл начинается с корректного определения пакета
• Импорты сгруппированы и отсортированы (стандартная библиотека, внешние пакеты, внутренние)
• Константы и переменные объявлены с типами, где это необходимо (var и const)
• Используется короткое объявление переменных := в локальной области

Функции и методы

• Функции имеют четкие и понятные имена (глаголы для действий)
• Используется явный возврат значений (не прячем error)
• Обработка ошибок — всегда проверяется if err != nil
• Используются именованные возвращаемые значения для улучшения читаемости (по необходимости).
• Методы объявлены с указателем *Type для изменения состояния (если нужно).

Циклы и условия

• Циклы for написаны лаконично и с понятной логикой (без лишних вложенностей).
• Используется switch вместо цепочек if-else там, где это уместно.
• В условных выражениях нет лишних скобок — Go этого не требует.

Структуры и интерфейсы

• Структуры и интерфейсы объявлены с понятными именами.
• Используются теги для JSON, если структура используется для сериализации (json:"fieldName").
• Методы интерфейса определены минимально и по назначению.
• Композиция структур вместо наследования, где это возможно.

Работа с ошибками

• Ошибки возвращаются явно из функций (return err).
• Используются кастомные типы ошибок или fmt.Errorf с %w для обёртки ошибок.
• Важные ошибки логируются или обрабатываются на уровне вызова.

Чистота кода и стиль

• Форматирование соответствует gofmt / goimports.
• Лишние комментарии и неиспользуемые переменные удалены.
• Функции не слишком длинные — каждая отвечает за одну задачу.
• Использование defer для освобождения ресурсов и закрытия файлов/соединений.
• Нет глобальных переменных, если это можно избежать.

Работа с пакетами

• Пакеты не слишком большие, разделены по функционалу.
• Используются правильные уровни видимости: экспортируемые (с большой буквы) и неэкспортируемые элементы.
• Пакеты имеют README с описанием назначения (по возможности).

Оптимизация и производительность

• Используются срезы и карты эффективно (избегаем ненужных копирований).
• Избегается выделение памяти в горячих циклах.
• Используются каналы и горутины с правильным управлением (контекст, тайм-ауты).

Документация

• Публичные функции, типы и пакеты имеют комментарии в формате GoDoc.
• Документы объясняют назначение и использование, а не только перефразируют имена функций.

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍276🌚2🔥1🥱1



tgoop.com/goproglib/5943
Create:
Last Update:

📋 Чек-лист по синтаксису Go

Для разработчика на Go важно не только написать работающий код, но и сделать его понятным, чистым и соответствующим идиомам языка.

Составили для вас чек-лист, который поможет ускорить разработку в разы за счёт правильного и чистого кода.

Основы синтаксиса

• Используется правильный package — каждый файл начинается с корректного определения пакета
• Импорты сгруппированы и отсортированы (стандартная библиотека, внешние пакеты, внутренние)
• Константы и переменные объявлены с типами, где это необходимо (var и const)
• Используется короткое объявление переменных := в локальной области

Функции и методы

• Функции имеют четкие и понятные имена (глаголы для действий)
• Используется явный возврат значений (не прячем error)
• Обработка ошибок — всегда проверяется if err != nil
• Используются именованные возвращаемые значения для улучшения читаемости (по необходимости).
• Методы объявлены с указателем *Type для изменения состояния (если нужно).

Циклы и условия

• Циклы for написаны лаконично и с понятной логикой (без лишних вложенностей).
• Используется switch вместо цепочек if-else там, где это уместно.
• В условных выражениях нет лишних скобок — Go этого не требует.

Структуры и интерфейсы

• Структуры и интерфейсы объявлены с понятными именами.
• Используются теги для JSON, если структура используется для сериализации (json:"fieldName").
• Методы интерфейса определены минимально и по назначению.
• Композиция структур вместо наследования, где это возможно.

Работа с ошибками

• Ошибки возвращаются явно из функций (return err).
• Используются кастомные типы ошибок или fmt.Errorf с %w для обёртки ошибок.
• Важные ошибки логируются или обрабатываются на уровне вызова.

Чистота кода и стиль

• Форматирование соответствует gofmt / goimports.
• Лишние комментарии и неиспользуемые переменные удалены.
• Функции не слишком длинные — каждая отвечает за одну задачу.
• Использование defer для освобождения ресурсов и закрытия файлов/соединений.
• Нет глобальных переменных, если это можно избежать.

Работа с пакетами

• Пакеты не слишком большие, разделены по функционалу.
• Используются правильные уровни видимости: экспортируемые (с большой буквы) и неэкспортируемые элементы.
• Пакеты имеют README с описанием назначения (по возможности).

Оптимизация и производительность

• Используются срезы и карты эффективно (избегаем ненужных копирований).
• Избегается выделение памяти в горячих циклах.
• Используются каналы и горутины с правильным управлением (контекст, тайм-ауты).

Документация

• Публичные функции, типы и пакеты имеют комментарии в формате GoDoc.
• Документы объясняют назначение и использование, а не только перефразируют имена функций.

🐸Библиотека Go разработчика #буст

BY Библиотека Go-разработчика | Golang




Share with your friend now:
tgoop.com/goproglib/5943

View MORE
Open in Telegram


Telegram News

Date: |

To edit your name or bio, click the Menu icon and select “Manage Channel.” Each account can create up to 10 public channels Concise Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel.
from us


Telegram Библиотека Go-разработчика | Golang
FROM American