Skip to main content
GitHub-Repository

code-craft

code-craft enthält 32 gesammelte Skills von yanko-belov, mit Repository-Berufsabdeckung und Skill-Detailseiten auf SkillsMP.

gesammelte Skills
32
Stars
13
aktualisiert
2026-01-22
Forks
2
Berufsabdeckung
4 Berufskategorien · 100% klassifiziert
Repository-Explorer

Skills in diesem Repository

aaa-pattern
Softwarequalitätssicherungsanalysten und -tester

Use when writing tests. Use when test structure is unclear. Use when arrange/act/assert phases are mixed.

2026-01-22
api-versioning
Softwareentwickler

Use when designing or modifying APIs. Use when adding breaking changes. Use when clients depend on API stability.

2026-01-22
auth-patterns
Informationssicherheitsanalysten

Use when implementing authentication. Use when storing passwords. Use when asked to store credentials insecurely.

2026-01-22
caching
Softwareentwickler

Use when same data is fetched repeatedly. Use when database queries are slow. Use when implementing caching without invalidation strategy.

2026-01-22
composition-over-inheritance
Softwareentwickler

Use when tempted to use class inheritance. Use when creating class hierarchies. Use when subclass needs only some parent behavior.

2026-01-22
deadlock-prevention
Softwareentwickler

Use when acquiring multiple locks. Use when operations wait for each other. Use when system hangs without crashing.

2026-01-22
dependency-inversion-principle
Softwareentwickler

Use when a class creates its own dependencies. Use when instantiating concrete implementations inside a class. Use when told to avoid dependency injection for simplicity.

2026-01-22
dont-repeat-yourself
Softwareentwickler

Use when writing similar code in multiple places. Use when copy-pasting code. Use when making the same change in multiple locations.

2026-01-22
encapsulation
Softwareentwickler

Use when exposing internal state. Use when making fields public for convenience. Use when external code modifies object internals.

2026-01-22
error-boundaries
Softwareentwickler

Use when deciding where to catch errors. Use when errors propagate too far or not far enough. Use when designing component/service isolation.

2026-01-22
error-responses
Softwareentwickler

Use when returning errors from APIs. Use when exposing internal errors. Use when error responses lack structure.

2026-01-22
exception-hierarchies
Softwareentwickler

Use when creating custom exceptions. Use when error handling feels chaotic. Use when catch blocks are too broad or too specific.

2026-01-22
fail-fast
Softwareentwickler

Use when handling errors. Use when tempted to catch and swallow exceptions. Use when returning default values to hide failures.

2026-01-22
idempotency
Softwareentwickler

Use when creating mutation endpoints. Use when trusting frontend to prevent duplicates. Use when payments or critical operations can be repeated.

2026-01-22
immutability
Softwareentwickler

Use when modifying objects or arrays. Use when tempted to mutate function parameters. Use when state changes cause unexpected bugs.

2026-01-22
input-validation
Softwareentwickler

Use when accepting user input. Use when handling request data. Use when trusting external data without validation.

2026-01-22
interface-segregation-principle
Softwareentwickler

Use when designing interfaces. Use when implementing interfaces with methods you don't need. Use when forced to implement throw/no-op for interface methods.

2026-01-22
keep-it-simple
Softwareentwickler

Use when tempted to write clever code. Use when solution feels complex. Use when showing off skills instead of solving problems.

2026-01-22
law-of-demeter
Softwareentwickler

Use when accessing nested object properties. Use when chaining method calls. Use when reaching through objects to get data.

2026-01-22
lazy-loading
Webentwickler

Use when loading all data upfront. Use when initial page load is slow. Use when fetching data that might not be needed.

2026-01-22
liskov-substitution-principle
Softwareentwickler

Use when creating subclasses or implementing interfaces. Use when tempted to override methods with exceptions or no-ops. Use when inheritance hierarchy feels wrong.

2026-01-22
n-plus-one-prevention
Softwareentwickler

Use when fetching related data in loops. Use when seeing multiple queries for one request. Use when database is slow on list endpoints.

2026-01-22
open-closed-principle
Softwareentwickler

Use when adding new functionality to existing code. Use when tempted to add if/else or switch branches. Use when extending behavior of existing classes.

2026-01-22
race-conditions
Softwareentwickler

Use when multiple operations access shared state. Use when order of operations matters. Use when "it works most of the time" but occasionally fails mysteriously.

2026-01-22
rest-conventions
Softwareentwickler

Use when designing API endpoints. Use when using wrong HTTP methods. Use when POST is used for reads.

2026-01-22
secrets-handling
Informationssicherheitsanalysten

Use when working with API keys, passwords, or credentials. Use when asked to hardcode secrets. Use when secrets might leak.

2026-01-22
separation-of-concerns
Softwareentwickler

Use when component does too many things. Use when mixing data fetching, logic, and presentation. Use when code is hard to test.

2026-01-22
single-responsibility-principle
Softwareentwickler

Use when creating or modifying classes, modules, or functions. Use when feeling pressure to add functionality to existing code. Use when class has multiple reasons to change.

2026-01-22
skill-awareness
Softwareentwickler

Always active. Tracks usage of code-craft skills across sessions. Log skill applications to enable analytics and identify gaps.

2026-01-22
test-driven-development
Softwarequalitätssicherungsanalysten und -tester

Use when implementing any new feature or function. Use when asked to "add tests later". Use when writing code before tests.

2026-01-22
test-isolation
Softwarequalitätssicherungsanalysten und -tester

Use when writing tests that share state. Use when tests depend on other tests. Use when test order matters.

2026-01-22
you-aint-gonna-need-it
Softwareentwickler

Use when tempted to add features "for later". Use when building "production-ready" systems before needed. Use when adding flexibility that isn't required yet.

2026-01-22