https://denisa11petric.medium.com/mastering-the-craft-essential-programming-principles-every-developer-should-know-362e7fc80e40