Toolverse
All skills

golang-patterns

by affaan-m

Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
affaan-m
Category
UX / Design
Views
47

About this skill

Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.

How to use

  1. Aktywuj skill w kontekście pracy z kodem Go – gdy piszesz nową funkcję, przeglądasz kod kolegi lub refaktoryzujesz istniejący moduł.

  2. Zapamiętaj kluczową zasadę: Go ceni prostotę nad sprytnym kodem. Jeśli zastanawiasz się, czy Twoja implementacja jest zbyt skomplikowana, prawdopodobnie jest – uprość ją.

  3. Projektując struktury danych, upewnij się, że ich wartość zerowa (zero value) jest od razu użyteczna bez dodatkowej inicjalizacji. Na przykład licznik powinien zaczynać od zera i być gotowy do użycia, a nie wymagać ręcznego setup'u.

  4. Stosuj zasadę "accept interfaces, return structs" – funkcje powinny przyjmować parametry jako interfejsy (dając elastyczność), ale zwracać konkretne typy (jasne implementacje).

  5. Gdy piszesz funkcje obsługujące błędy, opakowuj je kontekstem za pomocą fmt.Errorf z %w, aby zachować oryginalny błąd w łańcuchu.

  6. Używaj skill'u jako referencji podczas code review – pytaj się, czy kod jest oczywisty dla każdego czytelnika, czy nie zawiera niepotrzebnej złożoności i czy respektuje konwencje Go.

Related skills