Search results for ""Matthew Doar" "Practical Development Environments""
O'Reilly Media Practical Development Environments
Book SynopsisAimed at those, wanting a good technical environment for developing their software, this book contains guidelines telling, how to create and maintain a development environment. It discusses some of the tools, covering different areas, such as version control, build tools, testing tools, bug tracking systems, release tools, maintenance and others.Table of Contentslist of figures list of tables list of examples Preface 1. Introduction Developing Software Products Open and Closed Software Development Dirty Secrets of Software Projects What Does "Practical" Mean? A Personal Tools Quiz 2. Project Basics The Parts of a Project Software Configuration Management Building Software Testing Software Tracking Bugs Writing Documentation Releasing Products Maintenance Recommended Tools Modern Environments Classic Environments Future Environments 3. Project Concepts Preconstructed Development Environments SourceForge GForge CollabNet Savane BerliOS Improving PDEs Why Integration Is Helpful Why Automation Is Vital Automation Environments Shell Scripts and Batch Files Tinderbox Anthill CruiseControl Labeling Builds Naming Projects and Machines Choosing Project Names Choosing Machine Names Choosing New Tools Steps When Changing Tools Internationalization and Localization Authentication, Authorization, and Accounting 4. Software Configuration Management Why Do I Need SCM? What SCM Is and Is Not Drawbacks of SCM A Typical Day's Work with SCM SCM Annoyances Branches and Tags When to Branch? When to Tag? Naming Branches and Tags Merge Madness Security Access Wars Filenames to Avoid Backups and SCM SCM Tools CVS Subversion Arch Perforce BitKeeper ClearCase Visual SourceSafe Comparison of SCM Tools Wider Uses of SCM Checklist 5. Building Software How Software Gets Built The Different Stages of a Build A Typical Build File Build States: Virgin, Up-to-date, Changed, Interrupted, Clean Good Builds, Bad Builds Build States and Different Targets Build States in Practice Build Dependencies When Build Dependencies Go Wrong How Build Dependencies Change Common Build Problems Slow Builds Build Tools Shell Scripts and Batch Files make GNU Autotools Ant Jam SCons Custom Build Tools Comparison of Build Tools Changing Your Build Tool Checklist 6. Testing Software Different Kinds of Tests Unit Tests System Tests Customer Tests Other Tests Why Automate Your Tests? Evaluating Test Environments Preparing to Test Running the Tests After the Tests Good Test Reports Test Environments Shell Scripts and Batch Files xUnit DejaGnu SilkTest Types of Test Tools Memory Analyzers Coverage Tools Performance Tools Static Code Analyzers The Difficult Parts of Testing Faults of Omission Capturing Output Using Multiple Machines Only a Developer Can Do That! Accessibility Testing Checklist 7. Tracking Bugs Tool Requirements Bug Tracking Tools Spreadsheets Different Server Technologies Bugzilla GNATS FogBugz JIRA TestTrack Custom Bug Tracking Tools Bug Tracking Annoyances Multiplying Products Cleaning Up One Bug, Multiple Releases Severity Inflation Identifying the Right Area Customizing the Bug Tracking System Overloading Fields Bug History Bug Statistics Writing an Effective Bug Report Integrating with SCM Tools Checklist 8. Documentation Environments Technical Documentation Is Documentation a Separate Product? Writing Documentation Is Like Writing Code Documents and SCM File Formats for Documentation File Formats for Customers Documentation Environments Raw Text FrameMaker XML: DocBook and OpenOffice Microsoft Word More File Formats Automated Production of Documentation Bad Ideas for Documentation Releasing the Documentation Separately Ransom-Note Cut and Paste Old Versions That Never Die Funky Filenames Screenshots Internal Project Documentation Checklist 9. Releasing Products Overview Before the Release System Requirements Build Numbers Release Numbering Release Information Upgrading Legal Licenses License Keys Securing Your Releases Quick Fixes and Engineering Specials Creating the Release Automated Releases Automating Release Information Developers as Customers Packaging Formats Unix Windows Installation Tools Requirements Unix Windows Installation Irritations-Ship Happens! After the Release Checklist 10. Maintenance Maintaining an Environment Migrating Your Data What Is Product Maintenance? Developing for Easier Maintenance Product Maintenance Tasks Understanding Code Reproducing a Build Handling Product Name Changes Handling Company Name Changes Handling Copyright Date Changes Product Maintenance and Development Environments SCM Building Testing Bug Tracking Documentation People and Politics Cleaning Up Your Environment Checklist 11. Project Communication Tools for Communication A Project Web Site Access Control Different Areas for the Project Web Site Home Page Getting Started Specifications SCM Building Testing Bug Tracking Documentation Releases Maintenance Support Project Management About the Web Site Creating the Web Site Static Web Pages Dynamic Web Pages Indexing and Searching Avoiding Content Rot 12. Politics and People The Role of the Toolsmith How to Choose a Toolsmith When Good Projects Go Bad Awkward People Twisted Communications Commit Rights Automation Discipline What Do Developers Really Want? An Upbeat Ending A. How Tools Scale Scaling of Compilers How the Compiler gcc Scales Scaling of Build Tools Comparing Recursive and Included make B. Resources Online Content Discussions Directories Magazines Books Automation and General Tools Software Configuration Management Building Software Testing Software Tracking Bugs Documentation Environments Releasing Products Maintenance Politics and People Developing Software General Design Conferences University and College Courses index
£26.99