Agile Java : crafting code with test-driven development / Jeff Langr.
Material type: TextSeries: Martin, Robert C. Robert C. Martin series ; Publication details: Upper Saddle River, NJ : Prentice Hall PTR, c2005.Description: xxiii, 752 p. : ill. ; 24 cmISBN:- 0131482394
- 9780131482395
- 005.133 LAN
Item type | Current library | Call number | Copy number | Status | Date due | Barcode | |
---|---|---|---|---|---|---|---|
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R13376KRCT | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R13380KRCT | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R13379KRCT | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R13378KRCT | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R19036XKRC | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R19037YKRC | ||
Standard Loan | Thurles Library Main Collection | 005.133 LAN (Browse shelf(Opens below)) | 1 | Available | R19038AKRC |
Enhanced descriptions from Syndetics:
Shows how Java and TDD integrate throughout the entire development lifecycle, helping you leverage efficient development techniques. This work also shows how to translate oral requirements into practical tests, and then how to use those tests to create reliable, high-performance Java code that solves real problems.
Includes bibliographical references (p. 733-734) and index.
Table of contents provided by Syndetics
- About the Author
- Foreword
- Acknowledgments
- Introduction
- Who Is This Book For?
- What This Book Is Not How to Use
- This Book Exercises Conventions Used in This Book
- An Agile Overview
- What Is "Agile?"
- What Is Java?
- Why OO?
- What Is an Object?
- What Are Classes?
- Why UML?
- What Is Inheritance?
- Why Test-Driven Development?
- Setting Up
- Software You''ll Need Does It Work?
- Compiling Hello World Executing Hello World Still Stuck?
- Lesson 1 Getting Started
- Testing Design A Simple Test Junit
- Adding a Test Creating a Student
- Creating the Student Class Constructors
- Local Variables Returning a Value from a Method
- Assertions Instance Variables
- Summarizing the Test Refactoring this private
- Naming Conventions Whitespace
- Exercises
- Lesson 2 Java Basics
- CourseSession Enrolling Students int Initialization
- Default Constructors Suites
- The SDK and java.util.ArrayList
- Adding Objects Incremental Refactoring
- Objects in Memory Packages and the import Statement
- The java.lang Package
- The Default Package and the package Statement
- The setup Method More Refactoring Class
- Constants Dates Overload Constructors
- Deprecation Warnings Refactoring Creating Dates with Calendar
- Comments Javadoc Comments
- Exercises
- Lesson 3 Strings and Packages
- Characters and Strings Strings String
- Builder System Properties
- Looping Through All Students Single-Responsibility
- Principle Refactoring System.out
- Using System.out Refactoring Package
- Structure Access Modifiers Using Ant
- Exercises
- Lesson 4 Class Methods and Fields
- Class Methods Class Variables
- Operating on Class Variables with Class Methods
- Static Import Incrementing Factory Methods
- Simple Design Static Dangers
- Using Statics: Various Notes
- Jeff''s Rule of Statics Booleans Tests as Documentation
- More on Initialization Exceptions Revisiting
- Primitive-Type Field Initialization
- Exercises
- Lesson 5 Interfaces and Polymorphism
- Sorting: Preparation Sorting: Collections.sort
- Course Report Test Interfaces
- Why Interfaces Implementing Comparable
- Sorting on Department and Number
- The if Statement Grading Students
- Floating-Point Numbers Testing
- Grades Refactoring Enums Polymorphism
- Using Interface
- References
- ArrayList and the List Interface
- Exercises
- Lesson 6 Inheritance
- The switch Statement Case Labels
- Are Just Labels Maps Inheritance Abstract Classes
- Extending Methods Refactoring
- Enhancing the Grade Enum Summer Course
- Sessions Calling Superclass Constructors Refactoring
- More on Constructors Inheritance and Polymorphism
- The Principle of Subcontracting
- Exercises
- Lesson 7 Legacy Elements
- Looping Constructs Breaking Up a Student''s Name
- The while Loop Comparing Java Loops
- Refactoring Looping Control Statements
- The Ternary Operator Legacy Collections Iterators
- Iterators and the for-each Loop Casting
- Wrapper Classes Arrays Refactoring
- Exercises
- Lesson 8 Exceptions and Logging
- Exceptions Dealing With Exceptions
- Checked Exceptions
- Exception Hierarchy Creating
- Your Own Exception Type Checked Exceptions vs. Unchecked
- Exceptions Messages Catching Multiple
- Exceptions Rethrowing
- Exceptions Stack Traces
- The finally Block Refactoring Logging
- Logging in Java Testing Logging
- Logging to Files Testing Philosophy for Logging
- More on File Handler Logging Levels Logging
- Hierarchies Additional Notes on Logging
- Exercises
- Lesson 9 Maps and Equality
- Logical Operators Short-Circuiting Hash Tables Courses
- Refactoring Session Equality
- The Contract for Equality Apples and Oranges
- Collections and Equality Hash Tables
- Collisions An Ideal Hash Algorithm
- A Final Note on hashCode
- More on Using HashMaps
- Additional Hash Tables and Set Implementations toString
- Strings and Equality
- Exercises
- Lesson 10 Mathematics
- BigDecimal More on Primitive Numerics
- Integer Math Numeric Casting Expression
- Evaluation Order NaN Infinity Numeric
- Overflow Bit Manipulation Java.lang.Math Numeric
- Wrapper Classes Random Numbers
- Exercises
- Lesson 11 IO. Organization Character Streams
- Writing to a File Java.io.File
- Byte Streams and Conversion
- A Student User Interface Testing the Application
- Data Streams Course
Excerpt provided by Syndetics
Author notes provided by Syndetics
Jeff Langr has more than twenty years of development experience. He currently consults on software development, design, and agile processes through his company, Langr Software Solutions ( www.LangrSoft.com ). Langr worked for Uncle Bob Martin for two years at Object Mentor. He is the author of Essential Java Style (Prentice Hall PTR, 1999), and has published widely on Java and TDD in Software Development, C/C++ Users Journal, and diverse online magazine sites and portals.
www.langrsoft.com
© Copyright Pearson Education. All rights reserved.