Practical Development Environments
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Practical Development Environments: (O'Reilly Ser.)
Practical Development Environments: (O'Reilly Ser.)

Practical Development Environments: (O'Reilly Ser.)


     0     
5
4
3
2
1



Available


X
About the Book

This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project. Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further. Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often. Whether as a full-time position or just because they are helpful, all projects have toolsmiths: making choices about tools, installing them, and then maintaining the tools that everyone else depends upon. This book is especially for everyone who ends up being a toolsmith for his or her group.

Table of Contents:
list 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

About the Author :
Matthew B. Doar began writing code as a child in Yorkshire in the late 1970s, studied Engineering and then Computer Science at the University of Cambridge, and finished up with a Ph.D. in computer networking. He has been a professional software developer for over ten years at a number of different companies, writing C, C++ and Java code for large projects and tools. He also wrote JDiff, an open source tool for comparing the Java APIs of different versions of large projects. Matt currently works near San Jose, CA as a toolsmith by day. By night, he has learnt to play the clarinet, and accidentally delivered his own son.


Best Sellers


Product Details
  • ISBN-13: 9780596007966
  • Publisher: O'Reilly Media
  • Publisher Imprint: O'Reilly Media
  • Height: 233 mm
  • No of Pages: 330
  • Returnable: Y
  • Spine Width: 21 mm
  • ISBN-10: 0596007965
  • Publisher Date: 01 Nov 2005
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Series Title: O'Reilly Ser.
  • Width: 178 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Practical Development Environments: (O'Reilly Ser.)
O'Reilly Media -
Practical Development Environments: (O'Reilly Ser.)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Practical Development Environments: (O'Reilly Ser.)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!