check-bounds-safety
Apply type-safe bounds checking patterns using Index/Length types instead of usize. Use when working with arrays, buffers, cursors, viewports, or any code that handles indices and lengths.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Apply type-safe bounds checking patterns using Index/Length types instead of usize. Use when working with arrays, buffers, cursors, viewports, or any code that handles indices and lengths.
How to use
Zainstaluj skill w swoim katalogu
.claude/skills/poprzez sklonowanie repozytorium r3bl-org/r3bl-open-core lub skopiowanie folderucheck-bounds-safetydo projektu.Gdy pracujesz z kodem zawierającym dostęp do tablic, buforów lub logikę pozycjonowania kursora, poproś Claude'a o zastosowanie tego skilla. Wspomni o "sprawdzaniu granic", "bezpieczeństwie typów" lub "błędach off-by-one", aby aktywować wskazówki.
Zamiast pisać kod z surowymi wartościami
usize, użyj konstruktorów z bibliotekir3bl_tui:idx()dla indeksów (0-based),len()dla długości (1-based), oraz specjalizowane typy takie jakRowIndex,ColIndex,RowHeightiColWidth.Zastosuj metody bezpiecznego porównania dostarczone przez skill, na przykład
.overflows()do sprawdzenia, czy indeks przekracza długość. Unikaj surowych operatorów porównania między różnymi typami — kompilator Rusta będzie Cię chronić przed błędami kategorii.Do sprawdzania wartości zerowych używaj metody
.is_zero()zamiast porównania== 0, co jest bardziej idiomatyczne i czytelne.Przed commitowaniem kodu wrażliwego na granice poproś Claude'a o przegląd, aby upewnić się, że wszystkie indeksy i długości są poprawnie typowane i porównywane.