HNHacker News
TopNewBestAskShowJobs

matteodt

14 karma · joined April 29, 2021

submissionscomments
matteodt··on Show HN: I wrote a compendium of software design
When I started writing I was on the fence about making the compendium programming paradigm agnostic. However, I was worried it would be too abstract so I anchored it to object oriented.

I believe many concepts mentioned in the compendium are still valid for the functional paradigm, but definitely the examples are not.

Thanks for the input! I'll reason about how to reconciliate OO and FP once I finished the remaining chapters!

matteodt··on Show HN: I wrote a compendium of software design
Thanks for the clarification! By the way, I am going to add a reference to fuzz testing after your mention.
matteodt··on Show HN: I wrote a compendium of software design
Thanks for the kind words! They did certainly motivate me :)
matteodt··on Show HN: I wrote a compendium of software design
Interesting bit about sane logic. Is it something you verify manually by reading the pull request code? Or do you rather expect automated tests that use something like spies to check when a control structure is called?

In my coding life, I had a period where I was super into test driven development with mocks and I believe I was doing something very similar to what you called sane logic check. However, I later dropped this approach in favor of heavily parametrized tests where checks happen only on the output of functions and on side effects when necessary (e.g. an email is sent or a row is updated in the database).

Note: I am using this Martin Fowler's definition for "spies": https://martinfowler.com/bliki/TestDouble.html

matteodt··on Show HN: I wrote a compendium of software design
I started writing it during the Covid pandemic (2021), then I stopped when roughly half of the chapters were complete.

I am starting again now with the idea of finishing it by the end of 2023, but I wanted to give it another try here on HN to collect some feedback as my first submission went completely unnoticed.

What you mentioned about backend/frontend is actually very cool. In my original plan I wanted to produce three compendia: 1. Software design 2. Software architecture 3. Tech leadership

Still in my mind, but considering I am yet to complete the first one, it is going to take a while :)

Let me know if you ever go down that road! I would be very curious to read it.