The Pragmatic Programmer
Rate it:
Open Preview
Kindle Notes & Highlights
Read between September 25, 2017 - February 22, 2018
30%
Flag icon
if one person misunderstands, then it's possible many people do.
33%
Flag icon
Nothing astonishes men so much as common sense and plain dealing. • Ralph Waldo Emerson,
49%
Flag icon
Don't be a slave to history. Don't let existing code dictate future code. All code can be replaced if it is no longer appropriate. Even within one program, don't let what you've already done constrain what you do next—be ready to refactor (see Refactoring, page 184). This decision may impact the project schedule. The assumption is that the impact will be less than the cost of not making the change.[1]
52%
Flag icon
Rather than construction, software is more like gardening—it is more organic than concrete. You
52%
Flag icon
activity that needs to be undertaken slowly, deliberately, and carefully. Martin Fowler offers the following simple tips on how to refactor without doing
54%
Flag icon
This style of testing requires you to test subcomponents of a module first. Once the subcomponents have been verified, then the module itself can be tested.
54%
Flag icon
Examples of how to use all the functionality of your module A means to build regression tests to validate any future changes to the code
55%
Flag icon
But if you do use a wizard, and you don't understand all the code that it produces, you won't be in control of your own application. You won't be able to maintain it, and you'll be struggling when it comes time to debug.
56%
Flag icon
No matter how well thought out it is, and regardless of which "best practices" it includes, no method can replace thinking.
56%
Flag icon
Work with a User to Think Like a User
58%
Flag icon
If it's on the Web, the programmers may even read it.
60%
Flag icon
Don't get us wrong. We like (some) formal techniques and methods. But we believe that blindly adopting any technique without putting it into the context of your development practices and capabilities is a recipe for disappointment.
61%
Flag icon
There is also a tendency to fall back into the us versus them mentality of designers against coders. We prefer to understand the whole of the system we're working on.
61%
Flag icon
At Group L, Stoffel oversees six first-rate programmers, a managerial challenge roughly comparable to herding cats.
62%
Flag icon
How does this functional style of organization help? Organize our resources using the same techniques we use to organize code, using techniques such as contracts (Design by Contract, page 109), decoupling (Decoupling and the Law of Demeter, page 138), and orthogonality (Orthogonality, page 34), and we help isolate the team
65%
Flag icon
Many teams develop elaborate test plans for their projects. Sometimes they will even use them.