Przejdź do treści
Biblioteka skilli
Programowanie · Przegląd i audyt

code-smells

/code-smells

Wskazuje zapachy kodu z katalogu Fowlera, które blokują zmianę, i sprawdza je przy pisaniu, poprawianiu lub refaktoryzacji.

Repozytorium
maestro ↗
Licencja
MIT
Ostatnia zmiana repozytorium
13.11.2026

Ocena i bezpieczeństwo

82/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść17 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 13.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Wskazuje zapachy kodu z katalogu Fowlera, które blokują zmianę, i sprawdza je przy pisaniu, poprawianiu lub refaktoryzacji.

Wyzwalacze z opisu

s catalogue under the repo
Oryginalny opis (EN)

Code smells that block a change: Fowler's catalogue under the repo's own standards. Use whenever you write, fix or refactor code, or rule on a code change, before you call it done.

Jak działa

SKILL.md bez nagłówków drugiego poziomu · 36 linii, 394 słów

Podgląd SKILL.md
---
name: code-smells
description:
  "Code smells that block a change: Fowler's catalogue under the repo's own standards. Use whenever you write, fix or
  refactor code, or rule on a code change, before you call it done."
---

The **smell baseline** below is a fixed set of Fowler code smells (_Refactoring_, ch.3) that applies even when a repo
documents nothing. Two rules bind it:

- **The repo overrides.** A documented repo standard always wins; where it endorses something the baseline would flag,
  suppress the smell.
- **In scope blocks.** A smell in code the change adds, or in a function it touches, is a defect to fix and blocks;
  elsewhere it never blocks. Each smell is a heuristic: confirm it in the code, and skip anything tooling already
  enforces.

Each smell reads _what it is_ → _how to fix_; match it against the change:

- **Mysterious Name**: a function, variable, or type whose name doesn't reveal what it does or holds. → rename it; if no
  honest name comes, the design's murky.
- **Duplicated Code**: the same logic shape appears in more than one hunk or file in the change. → extract the shared
  shape, call it from both.
- **Feature Envy**: a method that reaches into another object's data more than its own. → move the method onto the data
  it envies.
- **Data Clumps**: the same few fields or params keep travelling together (a type wanting to be born). → bundle them
  into one type, pass that.
- **Primitive Obsession**: a primitive or string standing in for a domain concept that deserves its own type. → give the
  concept its own small type.
- **Repeated Switches**: the same `switch`/`if`-cascade on the same type recurs across the change. → replace with
  polymorphism, or one map both sites share.
- **Shotgun Surgery**: one logical change forces scattered edits across many files in the change. → gather what changes
  together into one module.
- **Divergent Change**: one file or module is edited for several unrelated reasons. → split so each module changes for
  one reason.
- **Speculative Generality**: abstraction, parameters, or hooks added for needs the spec doesn't have. → delete it;
  inline back until a real need shows.
- **Message Chains**: long `a.b().c().d()` navigation the caller shouldn't depend on. → hide the walk behind one method
  on the first object.
- **Middle Man**: a class or function that mostly just delegates onward. → cut it, call the real target direct.
- **Refused Bequest**: a subclass or implementer that ignores or overrides most of what it inherits. → drop the
  inheritance, use composition.

Wersje

W bazie nie ma innych skilli o nazwie code-smells.

Migawka bazy z 13.11.2026 · wersja paczki d72bca88e75d (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100coding-standards
    Wykrywa code smells, antywzorce i problemy z czytelnością przy implementacji funkcji, przeglądzie kodu i refaktoryzacji.
  • 87fowler
    Diagnozuje zapachy kodu i prowadzi przez refaktoryzacje z Fowlera, małymi krokami i z testami między nimi, niezależnie od języka.
  • 100refactoring
    Podaje katalogi refaktoryzacji Fowlera i Kerievsky: zapachy kodu, mechaniki i przykłady w C#, do pracy bez zmiany zachowania.
  • 95refactor
    Refaktoryzuje kod według katalogu Martina Fowlera bez zmiany zachowania: zapachy kodu, składanie metod, przenoszenie funkcji, organizacja danych, upraszczanie warunków i generalizacja.
  • 100refactor
    Analizuje złożoność i code smells, układa bezpieczny plan refaktoryzacji i wykonuje go krok po kroku z testami.
  • 90clean-coder
    Pilnuje standardów czystego kodu, wykrywa zapachy kodu i zasady SOLID przy refaktoryzacji.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.