Browsers & proxies limit URL size. ❌ Breaks Large GET filters Search queries ✅ Fix Use POST for complex payloads.
Author: ErcanOPAK
Networking — DNS Is Usually the Real Bottleneck
APIs “randomly slow”? 🧠 Cause DNS lookup delays No connection reuse ✅ Fix Enable DNS caching & keep-alive.
HTTP — Caching Is Disabled More Often Than You Think
No cache headers = slower everything. ✅ Add ETag Cache-Control If-None-Match Result: fewer bytes, faster pages, happier users.
SQL — Floating Point Columns Corrupt Financial Data
FLOAT ≠ money. ❌ Result Rounding errors accumulate silently. ✅ Fix Use: DECIMAL(18, 2)
EF Core — Change Tracking Is a Hidden Performance Tax
Tracking thousands of entities slows everything. ✅ Fix context.ChangeTracker.QueryTrackingBehavior = NoTracking; Or per query: .AsNoTracking()
Unicode — String Length Is Not What You Think
“👨👩👧👦”.Length // NOT 1 Why UTF-16 code units Grapheme clusters ✅ Fix Use text element enumeration for user-visible length.
Time Zones — DateTime.Now Is a Data Corruption Bug
DateTime.Now depends on server locale. ❌ What breaks Distributed systems Daylight Saving Time Audits & reporting ✅ Rule Store UTC, display local. DateTime.UtcNow
Visual Studio — “Random” Test Failures Are Parallelism
Tests passing alone, failing together? ❌ Cause Shared static state. ✅ Fix Make tests isolated or disable parallel execution.
WordPress — REST API Enabled = Attack Surface
Many sites don’t need it. ✅ Fix Disable REST endpoints if unused. Result Better security Lower load
Windows 11 — Defender Real-Time Scan Blocks Git
Git operations become painfully slow. ✅ Fix Exclude: .git repo folders
Windows 11 — TPM Firmware Can Throttle CPU
Some TPM firmware causes periodic CPU spikes. ✅ Fix Update BIOS + TPM firmware.
AJAX — Fetch Does NOT Reject on HTTP Errors
This surprises many devs. fetch(url) // resolves on 404 ✅ Correct Manually check: if (!response.ok) throw Error();
JavaScript — == Can Change Logic After Refactors
Loose equality causes temporal bugs. if (value == false) ❌ Problem 0, “”, null behave differently over time. ✅ Rule Always use ===.
HTML5 — autocomplete Can Leak Sensitive Data
Browsers aggressively remember fields. ❌ Risk Passwords, tokens, internal IDs ✅ Fix autocomplete=”off” Where appropriate.
CSS — height: 100% Does Nothing Without Context
This fails silently: .child { height: 100%; } 🧠 Reason Parent has no explicit height. ✅ Fix Define height on all parents.
.NET Core — Request Aborted Token Is Ignored Too Often
Client disconnects — server keeps working. ✅ Fix Use: HttpContext.RequestAborted Cancel long-running operations immediately.
.NET Core — Async Controllers Can Still Block Threads
Async does NOT guarantee non-blocking. ❌ Hidden blocker Task.Result Task.Wait() ✅ Rule Async all the way — no sync-over-async.
SQL Server — LEFT JOIN + WHERE Turns Into INNER JOIN
This is a classic silent bug: LEFT JOIN Orders o ON o.UserId = u.Id WHERE o.Status = ‘Paid’ ❌ Result Rows without orders are removed. ✅ Fix Move condition into JOIN.
SQL Server — GETDATE() Breaks Deterministic Queries
Using GETDATE() inside queries makes results non-cacheable. ❌ Problem Query plans cannot be reused efficiently ✅ Fix Pass time as a parameter instead.
C# — Exceptions Are Extremely Expensive
Exceptions are not control flow. ❌ Bad try { Parse(); } catch { } ✅ Better Use TryParse patterns. Impact Exceptions allocate Capture stack traces Kill throughput under load
C# — foreach Copies Structs Silently
Iterating structs can create hidden copies. foreach (var item in largeStructList) { item.Modify(); // modifies a copy } ✅ Fix Use ref foreach: foreach (ref var item in CollectionsMarshal.AsSpan(list))
C# — Memory Works with Async, Span Does Not
Span<T> is stack-only.Once you await, the stack frame is gone. ❌ This breaks Span<byte> buffer = stackalloc byte[256]; await DoAsync(buffer); // 💥 ✅ Correct Memory<byte> buffer = new byte[256]; await DoAsync(buffer); Rule: Span<T> → sync, hot paths Memory<T> → async-safe
Visual Studio — Build Is Slow Because of File Watchers
VS watches everything. ❌ Cost CPU usage Disk churn ✅ Fix Exclude large folders from file watchers.
WordPress — Plugins Loading Everywhere Is the Real Killer
Most plugins load on every request. ✅ Fix Conditionally load assets only where needed. Result: massive TTFB improvement.
Windows 11 — Clock Drift Breaks SSL & Auth
Time desync causes: HTTPS failures Token rejections ✅ Fix Force time sync periodically.
Windows 11 — Indexing Service Slows Dev Machines
Windows Search indexes code folders. ❌ Impact Slower file access Build delays ✅ Fix Exclude: node_modules bin obj
AJAX — Preflight Requests Are Real Requests
CORS preflight: Hits server Costs latency Can be blocked ✅ Optimize Avoid unnecessary custom headers.
JavaScript — JSON.stringify Can Crash on Big Objects
Circular references = runtime error. ✅ Safer Use structured cloning or custom serializers.
HTML5 —
This is not optional. <label for=”email”>Email</label> <input id=”email”> Benefits Larger click target Screen reader support Better UX
CSS — z-index Only Works on Positioned Elements
This is ignored: z-index: 10; ❌ Reason Element must have: position: relative | absolute | fixed | sticky








