Kevlin Henney wurde(n) 10 mal zitiert.
Usually the initial focus is on removing the need to engage in low-level infrastructure programming (and problems), e.g., by using some middleware instead of using raw sockets for distributed applications. And then add more if needed. I also tend to isolate the external tools from my business domain objects by means of interfaces and layering, so that I can change the tool if I have to with a minimal amount of pain. A positive side effect of this approach is that I generally end up with a smaller application that uses fewer external tools than originally forecast.
Kevlin Henney
The key [to developing expertise] is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes.
Kevlin Henney
Redefine internal interfaces, restructure modules, refactor copy–pasted code, and simplify your design by reducing dependencies.
Kevlin Henney
DRY requires that “every piece of knowledge must have a single, unambiguous, authoritative representation within a system.”
Kevlin Henney
If an object typically requires several things to happen before it can be used, this can be accomplished with an Abstract Factory or a Factory Method pattern. If an object has many possible variations in its behavior, these behaviors can be injected using the
Kevlin Henney
object encapsulates both state and behavior, where the behavior is defined by the actual state. Consider a door object. It has four states: closed, open, closing, opening. It provides two operations: open and close. Depending on the state, the open and close operations will behave differently. This inherent property of an object makes the design process conceptually simple. It boils down to two simple tasks: allocation and delegation of responsibility to the different objects including the interobject interaction protocols.
Kevlin Henney
Act like a professional: prepare, effect, observe, reflect, and change.
Kevlin Henney
A good bug report needs to convey three things: How to reproduce the bug, as precisely as possible, and how often this will make the bug appear What should have happened, at least in your opinion What actually happened, or at least as much information as you have recorded
Kevlin Henney
ONE OF THE MOST FOUNDATIONAL PRINCIPLES OF GOOD DESIGN IS: Gather together those things that change for the same reason, and separate those things that change for different reasons. This principle is often known as the single responsibility principle, or SRP.
Kevlin Henney
Write code as if you had to support it for the rest of your life.
Kevlin Henney