10
1

Book Description

Software failure in high-profile areas, such as aerospace, defence and medicine frequently makes the headlines because of the potentially disastrous consequences. The huge and recent growth in the use of software development has particularly serious implications for such safety-critical and high-integrity systems.

Despite its popularity and the excellent tool support available, C is only suitable for use in these areas within firm constraints and guidelines. Safer C: Developing Software for High-integrity and Safety-critical Systems highlights the 'holes' in C, but also demonstrates clearly that, employed correctly, C can be used to write software of as high intrinsic quality as other languages.

Beginning with a broad overview of safety in software, the book provides a critique of C as a safety-critical language, based on the author's extensive measurements of commercial C quality. Complexity, safer subsets, standards and tools are all examined. Essential rules of good working practice and guidelines for immediate implementation are presented and a direct comparison is made of specific safety-related features in C and other commonly-used languages. This important and timely book contains vital information for all developers working with C, whether in high-integrity areas or not, who need to produce reliable and effective software.

Special features include: much needed guidance for all software developers using C, not just those working on high-integrity and safety-critical systems; practical points for immediate implementation based on the use of safer subsets; and an examination of poorly understood legal implications of software safety and references to standards throughout.

7
Works on most machines (blog.ploeh.dk)
1
Works on most machines (blog.ploeh.dk)
1

Back Cover Text

The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process.

Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis—refactoring not just the code but the model underlying the code—in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.

Specific topics covered include:

  • Getting all team members to speak the same language
  • Connecting model and implementation more deeply
  • Sharpening key distinctions in a model
  • Managing the lifecycle of a domain object
  • Writing domain code that is safe to combine in elaborate ways
  • Making complex code obvious and predictable
  • Formulating a domain vision statement
  • Distilling the core of a complex domain
  • Digging out implicit concepts needed in the model
  • Applying analysis patterns
  • Relating design patterns to the model
  • Maintaining model integrity in a large system
  • Dealing with coexisting models on the same project
  • Organizing systems with large-scale structures
  • Recognizing and responding to modeling breakthroughs

With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

1

Back Cover Text

For more than twenty years, experienced programmers worldwide have relied on Martin Fowler’s Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.

This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactoring's and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes.

Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.

  • Understand the process and general principles of refactoring
  • Quickly apply useful refactorings to make a program easier to comprehend and change
  • Recognize “bad smells” in code that signal opportunities to refactor
  • Explore the refactorings, each with explanations, motivation, mechanics, and simple examples
  • Build solid tests for your refactorings
  • Recognize tradeoffs and obstacles to refactoring
1
9
69
-10
I am leaving (briefs.video)
52
1
view more: ‹ prev next ›

canpolat

0 post score
0 comment score
joined 3 years ago
MODERATOR OF