Skip to content

Instantly share code, notes, and snippets.

View gerardszczepanski's full-sized avatar

Gerard Szczepański gerardszczepanski

View GitHub Profile

FWIW: I didn't produce the content present here. I've just copy-pasted it from somewhere over the Internet, but I cannot remember exactly the original source. I was also not able to find the author's name, so I cannot give him/her the proper credit.


Effective Engineer - Notes

What's an Effective Engineer?

@gerardszczepanski
gerardszczepanski / ticketsKata.md
Last active April 1, 2018 23:00
Tickets Reservation System Kata

Tickets Reservation System Kata

Description

Your startup company is creating big online tickets reservation system for many events (concerts, sports). Your role is to design subsystem responsible for online reservation.

You know that there will be interactive map for each event, and users will be able to reserve and buy tickets by selecting places on the map and then providing their personal details.
You must create subsystem responsible for online tickets reservation.

WORKING EFFECTIVELY WITH LEGACY CODE

To me, legacy code is simply code without tests. I’ve gotten some grief for this definition. What do tests have to do with whether code is bad? To me, the answer is straightforward, and it is a point that I elaborate throughout the book: Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.

Chapter 1 Changing Software

Four Reasons to Change Software: For simplicity’s sake, let’s look at four primary reasons to change software.