Detecting typos with typos-cli
A guide to using typos-cli, a Rust-based command-line spell checker for detecting and fixing typos in code and documentation.
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.
A practical guide for developers on how to approach, understand, and incrementally improve a newly inherited legacy C++ codebase.
Explains why reusable UI components should avoid outer margins and padding, as they break encapsulation and create layout issues.
Explains evolutionary design in software development as a middle path between over- and under-design, emphasizing simplicity and refactoring.
A TypeScript tip on using a custom `TODO` type as a purposeful escape hatch for difficult type problems, with a caution against overuse.
Compares using pre-commit hooks vs. CI pipelines for automating code checks, discussing trade-offs like speed, feedback, and handling slow tests.
A fable about a security guardian and a developer learning to collaborate, illustrating the principles of DevSecOps and secure software development.
A summary of a study showing how technical debt and low code quality significantly slow development and increase defects.
A step-by-step guide to installing and running a local SonarQube instance for code quality analysis and experimentation.
A technical guide on creating a custom linting rule for the Go programming language, using a rule to forbid fmt.Printf as an example.
A chalk talk on using Amazon CodeCatalyst to improve code quality through test plans, coverage, and dependency checks.
A researcher's informal survey among software engineering academics reveals surprising insights into their personal use of automated refactoring tools in IDEs.
A developer reflects on over-engineering a CRUD controller, learning that clever abstractions can create unmaintainable code.