korrents
Hynek Schlawack

What Hynek Schlawack thinks about software quality

@hynek-schlawack · 16 positions · On ppll ↗

Software engineer and open-source maintainer of attrs and structlog; writes about Python, software design and career growth at hynek.me.

Hynek Schlawack did not write this page.

We collected these quotes from things they published elsewhere, and every quote links to where it was said. They have no account here and have not endorsed this site. Quotes are word for word; the short line under each one is our own restatement, not their wording. Their own site. Is this you? Claim it or ask us to remove it. Or tell us what is wrong here.

7 dated positions, 2021 to 2022, in their own words. Our reading of what Hynek Schlawack has said — not written or endorsed by them.

  1. The principle Don't Mock What You Don't Own means that whenever you employ mock objects, you should use them to substitute your own objects and not third-party ones2.

    ↗“Don’t Mock What You Don’t Own” in 5 Minuteshynek.me 1st of 3 in this piece

  2. This is a business logic test and the purpose of the test is drowning in boilerplate necessary to mimic the API of an HTTP client that can change at any time. That makes the test brittle and unidiomatic.

    ↗“Don’t Mock What You Don’t Own” in 5 Minuteshynek.me 2nd of 3 in this piece

  3. Corollary: To keep your business code testable and idiomatic, avoid directly using third-party dependencies in it.

    ↗“Don’t Mock What You Don’t Own” in 5 Minuteshynek.me 3rd of 3 in this piece

  4. 7 months earlier
  5. Unfortunately, Codecov has grown very flaky. I have lost any confidence in the fact when it fails a build and my first reaction is always to restart the build and only then investigate.

    ↗How to Ditch Codecov for Python Projectshynek.me

  6. 5 months earlier
  7. If you want to customize more than one behavioral aspect of a class, code sharing via subclassing won't work. It leads to subclass explosion.

    ↗Subclassing in Python Reduxhynek.me 1st of 2 in this piece

  8. When it comes to reading clarity, properly-done composition is superior to inheritance.

    ↗Subclassing in Python Reduxhynek.me 2nd of 2 in this piece

  9. 4 months earlier
  10. In almost 20 years of professional software development, I have observed that the amount of unintentional breakage through updates outweighs the amount of intentional breakage by far.

    ↗Semantic Versioning Will Not Save Youhynek.me 1st of 3 in this piece