Large scale C Software Design

Author: John Lakos
Publisher: Addison-Wesley Professional
ISBN: 0201633620
Release Date: 1996
Genre: Computers

In designing large-scale C++ applications, you are entering a dimension barely skimmed by most C++ books, particularly considering experience with small programming projects does not scale up to larger projects. This book unites high-level design concepts with specific C++ programming details to reveal practical methods for planning and implementing high-quality large C++ systems. You will learn the importance of physical design in large systems, how to structure your software as an acyclic hierarchy of components, and techniques for reducing link-time and compile-time dependencies. Then the book turns to logical design issues--architecting a component, designing a function, and implementing an object--all in the context of a large-project environment.

API Design for C

Author: Martin Reddy
Publisher: Elsevier
ISBN: 0123850045
Release Date: 2011-03-14
Genre: Computers

API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators. The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility. Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online. Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects.

Large Scale C Software Development

Author: John Lakos
Publisher: Addison-Wesley Professional
ISBN: 0201717069
Release Date: 2016-07-21
Genre: Computers

Designing scalable software in C++ requires more than just a sound understanding of the logical design issues covered in most C++ programming books. To succeed, senior developers, architects, and project leaders need a grasp of high-level physical design concepts with which even expert software developers have little or no experience. This concise, approachable guide takes a practitioner's view of large-scale software development, while providing all the information you need to quickly apply architectural-level physical design concepts in your everyday work. All content is presented in self-contained modules that make it easy to find what you need -- and use it. John Lakos presents crucial new material on runtime dependencies and other architectural issues, as well as realistic small examples that add value by illuminating broad and deep issues in large-scale C++ application design.

C Gotchas

Author: Stephen C. Dewhurst
Publisher: Addison-Wesley Professional
ISBN: 0321125185
Release Date: 2003
Genre: Computers

The author presents 99 "gotchas"--Common and preventable problems in C++ programming and design, from minor syntactic annoyances to basic design flaws and psychological behaviour. He shows how to avoid such problems.

Large Scale C Volume II

Author: John Lakos
Publisher: Addison-Wesley Professional Company
ISBN: 0134694694
Release Date: 2019-01-03
Genre: Computers

Designing scalable software in C++ requires more than just a sound understanding of logical design. Senior developers, architects, and project leaders need a grasp of high-level physical design concepts that even many software experts have never explored. In Large-Scale C++ Volume I: Process and Architecture, John Lakos takes a practitioner's view of modern large-scale software development, helping experienced professionals apply architectural-level physical design concepts in their everyday work. Lakos teaches critical concepts clearly and concisely, with new high-value examples. Up to date and modular, Large-Scale C++ Volume I is designed to help you solve problems right now, and serve as an appealing reference for years to come.

Large Scale Software Architecture

Author: Jeff Garland
Publisher: John Wiley & Sons
ISBN: 9780470856383
Release Date: 2003-07-25
Genre: Computers

The purpose of large-scale software architecture is to capture and describe practical representations to make development teams more effective. In this book the authors show how to utilise software architecture as a tool to guide the development instead of capturing the architectural details after all the design decisions have been made. * Offers a concise description of UML usage for large-scale architecture * Discusses software architecture and design principles * Technology and vendor independent

The Practice of Programming

Author: Brian W. Kernighan
Publisher: Addison-Wesley Professional
ISBN: 9780133133417
Release Date: 1999-02-09
Genre: Computers

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming .

Domain driven Design

Author: Eric Evans
Publisher: Addison-Wesley Professional
ISBN: 9780321125217
Release Date: 2004
Genre: Computers

Describes ways to incorporate domain modeling into software development.

Refactoring in Large Software Projects

Author: Martin Lippert
Publisher: John Wiley & Sons
ISBN: 9780470858936
Release Date: 2006-05-01
Genre: Computers

Large Refactorings looks at methods of establish design improvements as an important and independent activity during development of software, and will help to ensure that software continues to adapt, improve and remain easy to read and modify without altering its observable behaviour. It provides real-world experience from real refactored projects and shows how to refactor software to ensure that it is efficient, fresh and adaptable.

More C Gems

Author: Robert C. Martin
Publisher: Cambridge University Press
ISBN: 0521786185
Release Date: 2000-01-28
Genre: Computers

More C++ Gems picks up where the first book left off, presenting tips, tricks, proven strategies, easy-to-follow techniques, and usable source code.

Lean from the Trenches

Author: Henrik Kniberg
Publisher: Pragmatic Bookshelf
ISBN: 9781680503760
Release Date: 2011-12-14
Genre: Computers

You know the Agile and Lean development buzzwords, you've read the books. But when systems need a serious overhaul, you need to see how it works in real life, with real situations and people. Lean from the Trenches is all about actual practice. Every key point is illustrated with a photo or diagram, and anecdotes bring you inside the project as you discover why and how one organization modernized its workplace in record time. Lean from the Trenches is all about actual practice. Find out how the Swedish police combined XP, Scrum, and Kanban in a 60-person project. From start to finish, you'll see how to deliver a successful product using Lean principles. We start with an organization in desperate need of a new way of doing things and finish with a group of sixty, all working in sync to develop a scalable, complex system. You'll walk through the project step by step, from customer engagement, to the daily "cocktail party," version control, bug tracking, and release. In this honest look at what works--and what doesn't--you'll find out how to: Make quality everyone's business, not just the testers. Keep everyone moving in the same direction without micromanagement. Use simple and powerful metrics to aid in planning and process improvement. Balance between low-level feature focus and high-level system focus. You'll be ready to jump into the trenches and streamline your own development process.

C Strategies and Tactics

Author: Robert B. Murray
Publisher: Addison-Wesley Professional
ISBN: UCSC:32106010871983
Release Date: 1993
Genre: Computers

The author uses practical, concise code examples to illuminate a useful programming stratagem or warn against a dangerous practice. Readers will come away with a better understanding of how C++ is used in the real world.

Beginning C

Author: Ivor Horton
Publisher: Apress
ISBN: 9781430202431
Release Date: 2007-12-22
Genre: Computers

C is the programming language of choice when speed and reliability are required. It is used for many low-level tasks, such as device drivers and operating-system programming. For example, much of Windows and Linux is based on C programming. The updated 4th edition of Beginning C builds on the strengths of its predecessors to offer an essential guide for anyone who wants to learn C or desires a ‘brush-up’ in this compact, fundamental language. This classic from author, lecturer and respected academic Ivor Horton is the essential guide for anyone looking to learn the C language from the ground up.

Real time Design Patterns

Author: Bruce Powel Douglass
Publisher: Addison-Wesley Professional
ISBN: 0201699567
Release Date: 2003
Genre: Computers

This revised and enlarged edition of a classic in Old Testament scholarship reflects the most up-to-date research on the prophetic books and offers substantially expanded discussions of important new insight on Isaiah and the other prophets.

Multi paradigm Design for C

Author: James O. Coplien
Publisher: Addison-Wesley Professional
ISBN: 0201824671
Release Date: 1999
Genre: Computers

Multi-Paradigm Design for C++ offers insight into an analysis and design process that takes advantage of C++'s multiple paradigm capability. It uses understandable notation and readable explanations to help all C++ programmers - not just system architects and designers - combine multiple paradigms in their application development for more effective, efficient, portable, robust, and reusable software. Readers will gain an understanding of domain engineering methods that support multi-paradigm design. This book reveals how to analyze the application domain, using principles of commonality and variation, to define subdomains according to the most appropriate paradigm for each. Multi-paradigm design digs deeper than any single technology or technique to address fundamental questions of software abstraction and design.