← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
🤖 AI Guestbook — Code Quality educational data only
| |
Last 30 days
14 pings — 2026-05-06 W 36 pings — 2026-05-07 T 40 pings — 2026-05-08 F 128 pings — 2026-05-09 S 35 pings — 2026-05-10 S 22 pings — 2026-05-11 M 8 pings — 2026-05-12 T 10 pings — 2026-05-13 W 20 pings — 2026-05-14 T 68 pings — 2026-05-15 F 18 pings — 2026-05-16 S 10 pings — 2026-05-17 S 16 pings — 2026-05-18 M 5 pings — 2026-05-19 T 9 pings — 2026-05-20 W 43 pings — 2026-05-21 T 27 pings — 2026-05-22 F 145 pings — 2026-05-23 S 23 pings — 2026-05-24 S 18 pings — 2026-05-25 M 14 pings — 2026-05-26 T 45 pings — 2026-05-27 W 109 pings — 2026-05-28 T 18 pings — 2026-05-29 F 20 pings — 2026-05-30 S 14 pings — 2026-05-31 S 23 pings — 2026-06-01 M 7 pings — 2026-06-02 T 39 pings — Yesterday W 103 pings — Today T
Amazonbot 18Perplexity 6Ahrefs 4ChatGPT 2Google 2Scrapy 2Unknown AI 1
Amazonbot 5Perplexity 4Google 1Ahrefs 1
Amazonbot 958Perplexity 670Ahrefs 442ChatGPT 412Google 310Unknown AI 252SEMrush 205Claude 145Scrapy 107Bing 103Meta AI 102Majestic 59Sogou 4Qwen 2You.com 1DuckDuckGo 1
crawler 3.3k crawler_json 379 pre-tracking 46
Category total3.8k pings Terms pinged113 / 113 Distinct agents15
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Open/Closed Principle — PHP Examples
Software entities should be open for extension but closed for modification — add new behaviour without editing existing, tested code.
3mo ago quality advanced
Parallel Inheritance Hierarchies
Every time you create a subclass of one class, you must also create a corresponding subclass of another — a sign of entangled designs.
3mo ago quality intermediate
Premature Optimisation
Optimising code before measuring where the actual bottleneck is — trading readability for performance gains that often don't matter.
3mo ago quality beginner
Primitive Obsession PHP 5.0+ 🧠 1
Using raw strings, ints, and arrays to represent domain concepts instead of small dedicated value objects.
3mo ago quality intermediate
Principle of Least Astonishment
Code should behave in a way that minimises surprise — functions should do what their name implies, with no unexpected side effects.
3mo ago quality beginner
Proxy Pattern PHP 5.0+
Provides a surrogate object that controls access to another object, adding indirection for lazy loading, caching, logging, or access control.
3mo ago quality intermediate
Pure Function
A function whose output depends only on its inputs and that produces no side effects — maximally testable and predictable.
3mo ago quality intermediate
Refused Bequest
A subclass that inherits methods it doesn't need or want, signalling a misused inheritance relationship.
3mo ago quality intermediate
Shotgun Surgery
A single change requires making many small edits across many different classes — a sign of poor cohesion.
3mo ago quality intermediate
Side Effects
Observable changes a function makes beyond returning a value — modifying global state, I/O, mutation of arguments — that make code harder to reason about.
3mo ago quality intermediate
Speculative Generality
Unused abstractions, parameters, or hooks added for hypothetical future use that complicate the codebase without present value.
3mo ago quality intermediate
State Pattern PHP 5.0+
Encapsulates the varying behaviour of an object based on its internal state into separate state objects, eliminating state-based conditionals.
3mo ago quality intermediate
Diagram: Strangler Fig Pattern Strangler Fig Pattern PHP 5.0+
Incrementally replace a legacy system by routing new requests to a new implementation while the old system handles the rest.
3mo ago quality intermediate
Switch Statement Smell
Repeated switch/if-elseif chains on the same type indicator signal a missing polymorphic design.
3mo ago quality intermediate
Technical Debt PHP 5.0+
The accumulated cost of shortcuts, suboptimal decisions, and deferred refactoring — 'debt' that accrues interest over time as it slows development.
3mo ago quality intermediate
Tell Don't Ask Principle PHP 5.0+
Tell objects what to do rather than asking for their state and deciding externally — keep behaviour with the data it operates on.
3mo ago quality intermediate
Template Method Pattern
Defines the skeleton of an algorithm in a base class, deferring specific steps to subclasses without changing the algorithm's structure.
3mo ago quality intermediate
Temporary Field
A class field that is only set and used in certain circumstances — most of the time it is empty or null, confusing readers.
3mo ago quality intermediate
Type Safety in PHP (strict_types & Static Analysis) PHP 7.4+
Combining strict_types=1, typed properties, return types, union types, and PHPStan/Psalm to catch type errors at analysis time rather than runtime.
3mo ago quality intermediate
Types of Cohesion
Cohesion grades from Coincidental (worst — random grouping) to Functional (best — single well-defined purpose), guiding module design decisions.
3mo ago quality advanced
✓ schema.org compliant