Название книги: Совершенный код. Мастер-класс
Автор: Стив Макконнелл
Размер: 7.8 MB
Описание книги «Совершенный код. Мастер-класс»:
My primary concern in writing this book has been to narrow the gap between the
knowledge of industry gurus and professors on the one hand and common commercial practice on the other. Many powerful programming techniques hide in journals and academic papers for years before trickling down to the programming public. Although the leading-edge software-development practice has advanced rapidly in recent years, common practice hasn’t. Many programs are still buggy, late, and over budget, and many fail to satisfy the needs of their users. Researchers in both the software industry and academic settings have discovered effective practices that eliminate most of the programming problems that have been prevalent since the 1970s. Because these practices aren’t often reported outside the pages of highly specialized technical journals, however, most programming organizations aren’t yet using them today. Studies have found that it typically takes 5 to 15 years or more for a research development to make its way into commercial practice (Raghavan and Chand 1989, Rogers 1995, Parnas 1999). This handbook shortcuts the process, making key discoveries available to the average programmer now.
Who Should Read This Book?
The research and programming experience collected in this handbook will help you
to create higher-quality software and to do your work more quickly and with fewer
problems. This book will give you insight into why you’ve had problems in the past
and will show you how to avoid problems in the future. The programming practices
described here will help you keep big projects under control and help you maintain
and modify software successfully as the demands of your projects change.
Where Else Can You Find This Information?
This book synthesizes construction techniques from a variety of sources. In addition
to being widely scattered, much of the accumulated wisdom about construction has
resided outside written sources for years (Hildebrand 1989, McConnell 1997a).
There is nothing mysterious about the effective, high-powered programming techniques used by expert programmers. In the day-to-day rush of grinding out the latest project, however, few experts take the time to share what they have learned. Consequently, programmers may have difficulty finding a good source of programming information.
The techniques described in this book fill the void after introductory and advanced
programming texts. After you have read Introduction to Java, Advanced Java, and
Advanced Java, what book do you read to learn more about programming?
You could read books about the details of Intel or Motorola hardware, Microsoft Windows or Linux operating-system functions, or another programming language—you can’t use a language or program in an environment without a good reference to such details. But this is one of the few books that discusses programming per se. Some of the most beneficial programming aids are practices that you can use regardless of the environment or language you’re working in. Other books generally neglect such practices, which is why this book concentrates on them.
The information in this book is distilled from many sources, as shown below. The
only other way to obtain the information you’ll find in this handbook would be to
plow through a mountain of books and a few hundred technical journals and then
add a significant amount of real-world experience. If you’ve already done all that, you
can still benefit from this book’s collecting the information in one place for easy reference.
Part I. Laying the Foundation
1. Welcome to Software Construction
2. Metaphors for a Richer Understanding of Software Development
3. Measure Twice, Cut Once: Upstream Prerequisites
4. Key Construction Decisions
Part II. Creating High-Quality Code
5. Design in Construction
6. Working Classes
7. High-Quality Routines
8. Defensive Programming
9. The Pseudocode Programming Process
Part III. Variables
10. General Issues in Using Variables
11. The Power of Variable Names
12. Fundamental Data Types
13. Unusual Data Types
Part IV. Statements
14. Organizing Straight-Line Code
15. Using Conditionals
16. Controlling Loops
17. Unusual Control Structures
18. Table-Driven Methods
19. General Control Issues
Part V. Code Improvements
20. The Software-Quality Landscape
21. Collaborative Construction
22. Developer Testing
25. Code-Tuning Strategies
26. Code-Tuning Techniques
Part VI. System Considerations
27. How Program Size Affects Construction
28. Managing Construction
30. Programming Tools
Part VII. Software Craftsmanship
31. Layout and Style
32. Self-Documenting Code
33. Personal Character
34. Themes in Software Craftsmanship
35. Where to Find More Information
Скачать книгу «Совершенный код. Мастер-класс»