The Pragmatic Programmer - Reading Notes 03

Since reading this book no particular order, so I skipped a few chapters directly read Chapter VII before the start of the project and Chapter VIII pragmatic project content, to understand some of the methods and theories. Also get some insights.     
1: Pit of demand: demand is not collected, and tap them. There is a deeper understanding user needs, but did not get enough use of technology: as a user. Work with users, like users to think the same. Describing the requirements document, to use the project glossary. To collect and manage requirements with WEB.
2. unlock the puzzle can not be solved: when they encounter problems impossible to solve, step back and ask yourself the following questions: 1) there is an easier way to do this? 2) you are trying to solve real problems, technical problems or be distracted by peripheral? 3) Why is this thing is a problem? 4) What makes it so difficult to solve? 5) It must be done in such a way it? 6) It really must be done right?
3. you're ready: One thing not yet begun, it is cautious? Or in the delays? I think through their own judgment, what priority sequential and emergency situations as well as your preparation, and then decide whether or not to do. Rather than reckless to do or not putting off.
4. specification trap: a requirements document written on hundreds of pages is not a problem, but once the user to see the actual operation of the system, you will be overwhelmed and various modifications are required. For some things "to do" rather than "Description"
The circle and arrow: Some of the design is to the programmer, there is no meaning to the end user, do not think to spend a formal description of graphical UML and so will be able to produce good design.
6. pragmatic team: Do not leave broken windows, do not repeat yourself, by Function Team
7. ubiquitous automation: the concept of continuous integration
8. relentless testing: test early, test often, automatic test
9. all is written: embedded comments in the code, comments should discuss why to do something, its goals and objectives.
10 great expectations: give them something a little more than they expect.
11. by coincidence Programming: Software developers, like working in minefields every day, there are hundreds of traps waiting to catch us.
Excessive or unnecessary use of the code may be able to run normally, but a change of scenery might collapse, in addition to the code will slow down, or to introduce a new bug. In short, do not rely on coincidence programming.
To think as much as possible to seize and fix errors early in the development cycle, the reason is very simple, but the project schedule stressful times, forget about this sentence.
Designated as priority coding, important to spend time above, it is often the hardest part. But if the infrastructure is not correct, then decorative fancy interface or no use.
12. Rate Algorithm: Nothing to say, is O () notation.
13. Pride and Prejudice: The signature on your work.

The following are some of the book's analytical point of view:

Good enough software
is saying A bird in the hand is worth two birds in the bush
must first ensure the availability of software, as highlights, features, available only needs to be considered in the future. And have a clear user needs
demand (although this is always emphasis added). we all know that the system can not make perfect, but it started to develop its own time
always as perfect as possible towards the direction of development, delude ourselves that how great this feature, be sure to add the phrase, the
function of how earth-shattering, final instead, become neither fish nor fowl, the extension of the project.
in the first attempt to do the todo list when thinking about the complete combination calendar and task two functions,
while also thinking about the contact function also joined, and even ms porject management function, but everything is too much,
so that a handful of interface design later sank into endless features weigh-in, because too many things and want to perfect
. so the end result is the first time that in addition to the last simple complex interface and what things are not, of course, now the generation of
code has been deleted do not know yourself, be able to stay in their own hard drive and use or that simply
The GeeTask, features small, but it does to me, good enough, if there are new features, adding it wants to, not
once a large and do stuff out.
Also thought to participate in a company's the first project, early warning systems in real estate, previous research by colleagues, I do not know
road from where to get others to do early warning systems, the use of so-called advanced algorithms to calculate the economic business cycle,
difficult to achieve these formulas. of course, our own Do not know this is not a quasi then I went to the customer is responsible for implementation.
at the customer, that the surprising news: customer needs enough good software is actually a function of the press release
Things, because they do not know, leadership is leadership requirements --- of course, is the top leadership requirements. This example, although
special, but it also shows we must know what the customer as soon as possible the hearts of the software is good enough.

Your knowledge assets

A chapter on learning how to mention a lot of learning, to learn to look the same as an investment, the analysis is also
very reasonable. Think in this area caught up with the claims, otherwise it will not see this ^ _ ^ book, learning is
a process that does not have an immediate effect, of course, we are not politicians, without immediately visible achievements, the kinds of
trees no harm done? learning but also a practice, to learn look for opportunities to apply knowledge of them, at least, they are useless to, also
can see how other people use thing you learn, the more naturally have their own judgment, be careful not to open two days before the jdk source when
concerning Arrays. achieve the sort method. see the internal merge sort, but not as good as "Introduction to algorithms" described
so simple, so readable, this time, with the judge, the study will not silly on its wording, of course
, jdk inside mergesort there are some additional processing (small array optimization), this is the place can be learned. for
the, this section there is also some methods on how to get the answer, and the rage of the domestic forum "question
wisdom, "a text has Many similarities, I do not know whether the author of the reference book.

 

 communicate with

Needless to say this is important to know the leaving is the best example of the last item on a company, its beginning
of his colleagues with a shot from the customer back the old system, as well as some indication of needs, and then we will follow these fragmented
broken things develop. we are not a prophet, not some leaders, free to play, so their brains,
began efforts to develop the direction may coincide, this day is very painful, until you can contact me later on with customers, straight
face to face contact to confirm the needs of customers (and demand) before allowing the project progresses in a few days than the previous month, which are
much better.

Guess you like

Origin www.cnblogs.com/zql98/p/10959115.html