Topics
clean-code

24 posts

Writing code that is readable, maintainable, and expressive.

Learning Concurrency in Golang

Learning Concurrency in Golang

Learning Go for its simplicity, and meeting again things I had not used in years: multithreading, goroutines and concurrency.

Effective Pair Programming

Effective Pair Programming

A practical guide to pair programming that works: roles, rotation, when to pair, common pitfalls, and how to make sessions productive.

Great Engineering

Great Engineering

Coding is not just another job. In the right environment it is fun, and even a hobby. On levelling up your craft on purpose.

How to Test Private Methods?

How to Test Private Methods?

From time to time I have had to face this question: how to test private methods? I have put together in an article the techniques that I usually use.

Dedicated QA Teams in Software?

Dedicated QA Teams in Software?

Let's talk about the QA position. The hidden truth behind poor software quality, and why it concerns you if you write code.

Recipes for Decoupling

Recipes for Decoupling

What coupling is and why it hurts. A compilation of strategies to decouple your domain code from infrastructure details.

Different Beliefs About Software Quality

Different Beliefs About Software Quality

What to do when working on "bad software" and you can't improve it because it is against the beliefs of your peers? Should you change the company?

Clean Craftsmanship

Clean Craftsmanship

Uncle Bob on the three pillars of craftsmanship: TDD disciplines with examples, standards for teams, and a programmer's ethics.

The Path to Seniority in Software

The Path to Seniority in Software

Real seniority goes beyond job titles. It's about impact, mentoring others, owning outcomes, and raising the bar for your entire team.

To Mock or Not to Mock

To Mock or Not to Mock

Mocking is useful, but 'what to mock' usually turns out to be a more complicated than expected if you don't treat this carefully.

Principles of package design

Principles of package design

Package design principles for classes ready to be reused: the right balance of cohesion and coupling, for users and maintainers.

Never Use array_merge in a Loop

Never Use array_merge in a Loop

Using array_merge inside a loop is a performance killer. The spread operator will help you to improve this by flatting the array.

Typed Arrays in PHP

Typed Arrays in PHP

Argument unpacking, function variable argument list, and variadics function.

Object design style guide

Object design style guide

Matthias Noback's practical guide to flexible, readable object-oriented code, useful in any OO language.

Testing Effectively Legacy Code

Testing Effectively Legacy Code

How to write characterization tests for legacy code to safely refactor without breaking existing behavior.

Strict Types in PHP

Strict Types in PHP

Why declaring strict_types in PHP improves code readability and prevents silent type coercion bugs.

The Art of Refactoring

The Art of Refactoring

If you see something, in the scope of your current task, that can be easily improved, improve it. And if you have any questions about it, ask.

Final Classes in PHP | Java | Any

Final Classes in PHP | Java | Any

Clear contracts, isolated side effects, testability, low complexity and cognitive load, code fluidity, and confidence in yourself.

The Art of Testing: Where Design Meets Quality

The Art of Testing: Where Design Meets Quality

Why you should consider testing as part of your daily development habit and how it's directly linked to the software quality.

Clean Architecture

Clean Architecture

Uncle Bob on SOLID, component design and the architectural boundaries that keep a system flexible and testable.

The Pragmatic Programmer

The Pragmatic Programmer

Key takeaways from Hunt and Thomas: DRY, the pragmatic mindset, and how to choose and master the tools of the trade.

The Clean Coder

The Clean Coder

Uncle Bob on professional behaviour in software: time management, handling pressure, TDD, and what a craftsman actually owes.

97 Things Every Programmer Should Know

97 Things Every Programmer Should Know

97 short, practical tips from experts on what every programmer should know, whatever language you use.

Clean Code

Clean Code

Bad code works, but it drags a whole organization down. Uncle Bob on what clean code is and how to keep it that way.

Keyboard Shortcuts

Movement vim hjkl

hPrevious post← left
jScroll down↓ down
kScroll up↑ up
lNext post→ right
ggScroll to top
GScroll to bottom
nNext sectionnext heading
NPrevious sectionprevious heading

Go to g = go

ghHomego home
gbBloggo blog
grReadingsgo readings
gcCVgo cv

Actions

/⌘KSearchvim search
dToggle themedark mode
tToggle TOCtable of contents
iSwitch languagei18n
mToggle highlightmark text

General

?Show this help
EscClose
:Terminalvim command mode
↑↑↓↓←→←→BA???