Code Quality: The Open Source Perspective

Adobe Press
1
Free Sample

  • Page 26: How can I avoid off-by-one errors?
  • Page 143: Are Trojan Horse attacks for real?
  • Page 158: Where should I look when my application can't handle its workload?
  • Page 256: How can I detect memory leaks?
  • Page 309: How do I target my application to international markets?
  • Page 394: How should I name my code's identifiers?
  • Page 441: How can I find and improve the code coverage of my tests?

Diomidis Spinellis' first book, Code Reading, showed programmers how to understand and modify key functional properties of software. Code Quality focuses on non-functional properties, demonstrating how to meet such critical requirements as reliability, security, portability, and maintainability, as well as efficiency in time and space.

Spinellis draws on hundreds of examples from open source projects--such as the Apache web and application servers, the BSD Unix systems, and the HSQLDB Java database--to illustrate concepts and techniques that every professional software developer will be able to appreciate and apply immediately.

Complete files for the open source code illustrated in this book are available online at: http://www.spinellis.gr/codequality/



Read more
Collapse

About the author

Diomidis Spinellis has been developing the concepts presented in this book since 1985, while also writing groundbreaking software applications and working on multimillion-line code bases. Spinellis holds an M.Eng. degree in software engineering and a Ph.D. in computer science from Imperial College London. Currently he is an associate professor in the Department of Management Science and Technology at the Athens University of Economics and Business.

Read more
Collapse
5.0
1 total
Loading...

Additional information

Publisher
Adobe Press
Read more
Collapse
Published on
Apr 3, 2006
Read more
Collapse
Pages
608
Read more
Collapse
ISBN
9780768685121
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Software Development & Engineering / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse
Eligible for Family Library

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on E Ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help Centre instructions to transfer the files to supported eReaders.
A lot has changed in the fast-moving area of software engineering since the first edition of this book came out. However, two particularly dominant trends are clearly discernible: focus on software processes and object-orientation. A lot more attention is now given to software processes because process improvement is con sidered one of the basic mechanisms for improving quality and productivity. And the object-oriented approach is considered by many one of the best hopes for solving some of the problems faced by software developers. In this second edition, these two trends are clearly highlighted. Aseparate chapter has been included entited "Software Processes. " In addition to talking about the various development process models, the chapter discusses other processes in soft ware development and other issues related to processes. Object-orientation figures in many chapters. Object-oriented analysis is discussed in the chapter on require ments, while there is a complete chapter entitled "Object-Oriented Design. " Some aspects of object-oriented programming are discussed in the chapter on coding, while specific techniques for testing object-oriented programs are discussed in the chapter on testing. Overall, if one wants to develop software using the paradigm of object -orientation, aB aspects of development that require different handling are discussed. Most of the other chapters have also been enhanced in various ways. In particular, the chapters on requirements specification and testing have been considerably enhanced.
How would you like to build an Xbox game, use your Nintendo Wiimote to create an electronic whiteboard, or build your own peer-to-peer application? Coding4Fun helps you tackle some cool software and hardware projects using a range of languages and free Microsoft software. Now you can code for fun with C#, VB, ASP.NET, WPF, XNA Game Studio, Popfly, as well as the Lua programming language.

If you love to tinker, but don't have time to figure it all out, this book gives you clear, step-by-step instructions for building ten creative projects, including:Alien Attack: Create a 2D clone of Space Invaders with XNA for the PC, Xbox 360, and ZuneLEGO Soldier: Create an action game using Popfly with a custom-built virtual LEGO characterWorld of Warcraft RSS Feed Reader: Use WoW's customizable interface to have feeds pop up while you're gamingInnerTube: Download YouTube videos automatically and convert them to a file format for off-line viewingPeerCast: Stream video files from any PCTwitterVote: Create custom online polls on TwitterWHSMail: Build a website with ASP.NET for Windows Home Server that lets you view the messages stored on a computer with Outlook"Wiimote" Controlled Car: Steer your remote-controlled car by tilting the Wii Remote controller left and rightWiimote Whiteboard: Create an interactive whiteboard using a Wii RemoteHoliday Lights: Synchronize your holiday light display with music to create your own light show

The perfect gift for any developer, Coding4Fun shows you how to use your programming skills in new and fun ways.

"This book is amazing! The scope is so wonderfully broad that anyone who has an interest in designing games at any level should read this book."

-- Alex Albrecht, Creator of Diggnation / Totally Rad Show / Project Lore

You know how to write code that works, but what about code that's well written and easy to understand? And robust and bug-free? If other programmers looked at your handiwork, would they be able to figure out the code's logic and purpose? Exceptional programmers have more than just technical know-how; they adopt the right approach and attitude to development.

Code Craft will help take your programming beyond writing correct code to writing great code, thus turning you into a true programming professional or enhancing your existing professional skills.

With language-agnostic advice that's relevant to all developers, Code Craft covers code-writing concerns such as presentation style, variable naming, error handling, and security. And it tackles broader, real-world programming issues like effective teamwork, development processes, and documentation. Each chapter ends with a Q&A section that reviews key concepts to get you thinking like an expert, making it an especially great reference for newer programmers who want to work professionally and efficiently as part of a team.

This survival guide for the software factory will show you how to:
–Write good code when the world's not helping you
–Avoid disasters and distractions in the workplace
–Assess your abilities accurately and determine ways to improve
–Adopt productive attitudes and follow best practices

There's little more valuable than the advice of a true, programming professional. You'll find Code Craft to be clear, practical, and entertaining throughout, and a great way to take your code (and your career) to the next level.
Every software developer and IT professional understands the crucial importance of effective debugging. Often, debugging consumes most of a developer’s workday, and mastering the required techniques and skills can take a lifetime. In Effective Debugging, Diomidis Spinellis helps experienced programmers accelerate their journey to mastery, by systematically categorizing, explaining, and illustrating the most useful debugging methods, strategies, techniques, and tools.

Drawing on more than thirty-five years of experience, Spinellis expands your arsenal of debugging techniques, helping you choose the best approaches for each challenge. He presents vendor-neutral, example-rich advice on general principles, high-level strategies, concrete techniques, high-efficiency tools, creative tricks, and the behavioral traits associated with effective debugging.

Spinellis’s 66 expert techniques address every facet of debugging and are illustrated with step-by-step instructions and actual code. He addresses the full spectrum of problems that can arise in modern software systems, especially problems caused by complex interactions among components and services running on hosts scattered around the planet. Whether you’re debugging isolated runtime errors or catastrophic enterprise system failures, this guide will help you get the job done—more quickly, and with less pain.

Key features include

High-level strategies and methods for addressing diverse software failures Specific techniques to apply when programming, compiling, and running code Better ways to make the most of your debugger General-purpose skills and tools worth investing in Advanced ideas and techniques for escaping dead-ends and the maze of complexity Advice for making programs easier to debug Specialized approaches for debugging multithreaded, asynchronous, and embedded code Bug avoidance through improved software design, construction, and management
©2020 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: CanadaLanguage: English (Canada)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.