A dangerous mindset I’ve seen—and been guilty of—is assuming code doesn't change.
A developer discusses the dangers of assuming code won't change or be misunderstood, advocating for defensive programming practices.
A developer discusses the dangers of assuming code won't change or be misunderstood, advocating for defensive programming practices.
A response to a blog post about refining AI-generated 'vibe code' through manual refactoring and cleanup.
A software tester proposes the term 'slop-coding' to describe quickly built, untested tools, contrasting it with 'vibe coding' for clearer communication.
Explores how tech debt in infrastructure code creates a self-perpetuating 'flywheel' effect, making it extremely costly and difficult to fix.
Discusses the risks of suppressing lint rules in code and proposes a meta-lint rule to prevent suppressing critical rules.
Explores how Conway's Law influences software architecture, comparing solo development to collaborative teamwork and its impact on code structure.
The article critiques the DRY principle, explaining how its overzealous application can lead to complex, hard-to-maintain code and bad abstractions.
Explores how AI tools like GitHub Copilot are transforming software development by automating tasks, improving debugging, and enhancing code quality.
A developer draws parallels between physical clutter and technical debt, advocating for regular 'code cleaning' sessions to improve team happiness and productivity.
The article explains the true meaning of 'refactoring' in software development and argues for its proper use to avoid client misunderstandings.
A developer explores adapting coding styles to different situations, inspired by the 'Six Thinking Hats' framework.
A guide to integrating JetBrains Qodana, a code quality analysis tool, into GitLab CI/CD pipelines and publishing its reports via GitLab Pages.
A guide to using typos-cli, a Rust-based command-line spell checker for detecting and fixing typos in code and documentation.
A senior developer shares eight key lessons on writing clean code, conducting effective reviews, and professional best practices from decades of experience.
A developer recounts the decision to revert a major refactoring of the EqualsVerifier library after encountering persistent edge cases and bugs.
Explains why to minimize try...catch usage in programming, offering alternative strategies like pre-validation and scope reduction.
A critique of developers boasting about short development times, arguing that quality and problem-solving matter more than speed.
A developer shares 25 years of experience with linters, discussing strategies for configuring them effectively and treating warnings as errors.
A senior engineer reflects on the complex reasons behind messy codebases, arguing against blaming developers and for focusing on systemic solutions.
Explores the 'Fewest Elements' rule in software design, advocating for removing unnecessary code like unreachable lines, comments, and unused abstractions.