All series

Software Craftsmanship Series

The practices that keep code changeable: TDD, refactoring, clean design, and the habits around them.

13 parts

  1. 1

    Great Engineering

    · 2 min

    A great engineer is not just a great coder

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

  2. 2

    Some thoughts about software quality among your team

    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?

  3. 3

    From a software developer's point of view

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

  4. 4

    Test-Driven (Development)

    · 5 min

    What is challenging about it?

    TDD is a design practice, not just a testing technique. Writing tests first changes how you think about code and shape its structure.

  5. 5

    TDD vs BDD

    · 4 min

    Design or Workflow?

    These are two different techniques. The key to each of them is about the mindset and context of what you want to achieve.

  6. 6

    London vs Chicago

    · 3 min

    It's an integration, not a choice

    There are two known schools in TDD: the mockist school (aka Outside-in) and the classicist school (aka Inside-out).

  7. 7

    To Mock or Not to Mock

    · 4 min

    How to escape the mocking hell

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

  8. 8

    How to Test Private Methods?

    · 1 min

    Testing private methods. When and how?

    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.

  9. 9

    The Art of Refactoring

    · 3 min

    When, how, and why

    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.

  10. 10

    Testing Effectively Legacy Code

    · 4 min

    How to write proper tests to already written code

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

  11. 11

    Effective Pair Programming

    · 5 min

    Embracing quality practices in your engineering culture

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

  12. 12

    Pull Requests vs Pair Programming

    · 6 min

    Why choosing when you can have both?

    Let's talk about the benefits of Pull Requests and Pair Programming, and my thoughts on these after some years of experience with them.

  13. 13

    Dedicated QA Teams in Software?

    · 4 min

    How does it fit a dedicated QA person in your agile team?

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

All posts on this topic

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

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

General

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