Best Practice
When we create a new data structure, deciding on its data types is usually a simple decision: text will become a String, non-floating-point numbers will be int, and so forth. But is it the right choice?
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” –Martin Fowler
Not many components live on their own, without any dependencies on others. Instead of tightly coupling them, we can improve the separation of concerns with dependency injection (DI).
By designing and writing code, we naturally start to develop our own personal style and habits, good and bad. The more code we write with the intent to improve, the better we’ll get eventually.
The human mind loves to simplify concepts to more natural, understandable terms. That’s why bike sheds, shaved yaks, and airplane landing strips can teach us something about software development and project management.
Almost no software project lives isolated without dependencies. The spectrum goes from “just use the stdlib” up to “use dependencies for every single line of code”.