Topics
clean-code

24 posts

Writing code that is readable, maintainable, and expressive.

Learning Concurrency in Golang

Learning Concurrency in Golang

I wanted to learn a new programming language, so after trying some, I ended up with Golang as one of my favorites for its simplicity and capabilities. It has features I haven’t used in years, like multithreading and conc…

Effective Pair Programming

Effective Pair Programming

Let's first establish what pair programming is: Two people working together on the same problem at the same time. It is not about one person showing off their skills in front of another, nor one person afraid of making m…

Great Engineering

Great Engineering

Coding is not just another job. In the right environment, writing software can be really fun and, even more, it can be your personal hobby as well! So... you might be focused on coding, coding and more coding to level up…

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?

This will be controversial, but let's talk about the QA position. The hidden truth behind the lack of software quality and why this should concern you if you write software.

Recipes for Decoupling

Recipes for Decoupling

What is coupling, and why is it bad? What is decoupling, and how to do it efficiently? This book is a compilation of strategies to decouple your domain code from those infrastructure details, so you can enjoy a healthier…

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

Robert C. Martin covers the three pillars of software craftsmanship: TDD disciplines with practical examples, professional standards for teams, and the ethical responsibilities of programmers.

The Path to Seniority in Software

The Path to Seniority in Software

The seniority in our software industry is more polluted by marketing and politics than in reality. What can we do about it?

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

Apply design principles to your classes, preparing them for reuse. You will use package design principles to create packages that are just right in terms of cohesion and coupling, and are user- and maintainer-friendly at…

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 writing flexible, readable, and maintainable object-oriented code, with techniques applicable to any OO language from Python to PHP.

Testing Effectively Legacy Code

Testing Effectively Legacy Code

These tests are also known as Characterization tests.

Strict Types in PHP

Strict Types in PHP

`strict_types=1` is more for the reader than for the writer

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

Robert C. Martin's guide to SOLID principles, component design, and architectural boundaries that keep software systems flexible, testable, and maintainable over time.

The Pragmatic Programmer

The Pragmatic Programmer

Key takeaways from Hunt and Thomas's classic on pragmatic software development, including DRY principles, the right mindset, and how to choose and master your tools.

The Clean Coder

The Clean Coder

Robert C. Martin's guide to professional behavior in software development, covering time management, pressure handling, TDD practices, and what it truly means to be a software craftsman.

97 Things Every Programmer Should Know

97 Things Every Programmer Should Know

Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting …

Clean Code

Clean Code

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't hav…

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
gpTopicsgo topics
geServicesgo services
gaTalksgo talks

Actions

/Searchvim search
yYank URLvim yank
dToggle themedark mode
tToggle TOCtable of contents
iSwitch languagei18n
fFollow linkfollow link
mToggle highlightmark text

General

?Show this help
ShiftHold to show hints
EscClose
:Terminalvim command mode