golang-patterns
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
About this skill
Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.
How to use
Aktywuj skill w kontekście pracy z kodem Go – gdy piszesz nową funkcję, przeglądasz kod kolegi lub refaktoryzujesz istniejący moduł.
Zapamiętaj kluczową zasadę: Go ceni prostotę nad sprytnym kodem. Jeśli zastanawiasz się, czy Twoja implementacja jest zbyt skomplikowana, prawdopodobnie jest – uprość ją.
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.
Stosuj zasadę "accept interfaces, return structs" – funkcje powinny przyjmować parametry jako interfejsy (dając elastyczność), ale zwracać konkretne typy (jasne implementacje).
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.
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.