Posts

Notes about Unit Testing - Principles, Practices, and Patterns

These are my notes about a book by Vladimir Khorikov, Unit Testing - Principles, Practices, and Patterns. The book was not bad, but there was not much new in it (except chapters 1 and 3). Khorikov is a C# MPV (most valuable professional) at Microsoft. C# .NET culture seems to be less classicist TDD and more mockist testing afterwards compared to Java. Good chunk of the book is about realization that mockist tests are bad, but the approach seems to be tests after production code instead of TDD still. Since the book was written in 2020, there is no mention about LLMs or AI-assisted development in it yet. Still, many of the principles in the book are still valid today. On a technical note - the book has great chapter Summaries. You don't even have to read the whole book, as the Summaries cover the most important thoughts. I've read the book anyway. There were small tips all over the place.  In the past Khorikov noticed how much test code was needed to test just 3 lines of producti...

Notes about Extreme Programming Explained

I've wanted to read Extreme Programming Explained for quite some time, but I couldn't get my hands on the first edition from 1999, which is written in a less politically correct style than the second edition from 2004. I finally managed to get it, so I'm now writing notes for myself as I read it. Foreword The foreword by Erich Gamma starts off with a witty irony, suggesting that a software methodology based on putting programming front and center surely can't work. What caught my attention was that even back in 1999, Gamma was working in a distributed team that exchanged specifications, tests, bug reports, and everything else in the form of code. Preface For some people, Extreme Programming (XP) is just common sense. So why the word “extreme” in the name? Kent Beck took several proven programming practices and pushed them to the extreme: Code reviews are good → Pair programming Testing is good → Unit testing (by programmers), functional testing (by customers) Design →...

Notes about Kent Beck's substack

These are my notes from the Kent Beck's substack pages.  Thinkies All Thinkies are just random Beck's ideas which came with a disclaimer - evaluate them yourself. They just as well might be bad ideas. Thinkie: Sampling Rate - when you are missing something while monitoring a system, try increasing the sampling rate.  Thinkie: The Real Question - when someone asks you for information which makes no sense, ask them what is the real question. Thinkie:  Win/Win  - well-known. Try to make a decision that is good for everybody. Thinkie:  Survivable?  - when you cannot make a decision, think about its reversibility. If you can survive the negative outcome, act in cheapest, fastest way that could generate value. Otherwise mitigate risk. Thinkie: Your Position - conversation got stuck on resolution, but otherwise seems promising. Try to summarize other party's position in a way they would agree with. Thinkie: My Perspective - when you have trouble communicating w...