Essential Java Style : Patterns for Implementation
The definitive style guide for writing readable, maintainable Java code With Essential Java Style, developers finally have a Java style guide that offers detailed patterns for real-world implementation. Using GGD1real code, not abstract discussion, Jeff Langr brings together scores of todays best implementation solutions for the problems every Java developer faces. By standardizing these solutions, developers can build Java programs more quickly, efficiently, and reliably-and above all, make them dramatically easier to maintain. Langr brings together the most useful ideas from many sources, notably the excellent Smalltalk patterns identified in Kent Becks Smalltalk Best Practice Patterns (Prentice Hall, ISBN: 0-13-476904-X). The patterns in Essential Java Style cover methods, messages, state, collections, classes, and formatting. Each pattern appears on its own page, with its own name and summary box designed to show exactly which problem is being solved. Streamline the development processes by using these patterns to eliminate random coding and naming styles that complicate maintenance, overly procedural code that can be difficult to understand, and varying techniques for common o
- Paperback | 277 pages
- 144 x 218 x 24mm | 498.95g
- 16 Aug 1999
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
About Jeff Langr
Jeff Langr is a software developer with more than 16 years of experience working for companies such as Marriott, MCI, and ChannelPoint, Inc. He currently resides in Colorado Springs, Colorado.
Table of contents
1. Behavior-Methods. Methods. Composed Method. Constructor Method. Constructor Parameter Method. Default Parameter Values. Shortcut Constructor Method. Converter Method. Converter Constructor Method. Query Method. Comparing Method. Reversing Method. Method Object. Parameter Object. Debug Printing Method. Method Comment. Intention-Revealing Method Name. Simple Implementations.2. Behavior-Messages. Message. Choosing Message. Decomposing Message. Dispatched Interpretation. Double Dispatch. Mediating Protocol. Super. Extending Super. Modifying Super. Delegation. Simple Delegation. Self-Delegation. Pluggable Method Name. Collecting Parameter.3. State Patterns. Instance Variables. Temporary Variables. Common State. Variable State. Explicit Initialization. Lazy Initialization. Default Value Constant. Default Value Method. Constant. Constant Method. Constant Pool. Direct Variable Access. Indirect Variable Access. Getting Method. Setting Method. Collection Accessor Method. Enumeration Method. Enumerated Constants. Boolean Property-Setting Method. Role-Suggesting Instance Variable Name. Temporary Variable. Collecting Temporary Variable. Caching Temporary Variable. Explaining Temporary Variable. Reusing Temporary Variable. Role-Suggesting Temporary Variable Name.4. Collections. Collection. Array. List. Linked List. Equality Method. Map. Hash Map. Hashing Method. Tree Map. Set. Tree Set. Stack. Collection Operations. isEmpty(). contains(Object)/containsAll(Collection). retainAll(Collection). removeAll(Collection). Concatenation. Enumeration. Reverse Enumeration. Do. Collect. Select/Reject. Detect. Inject Into. Collection Idioms. Duplicate Removing Set. Temporarily Sorted Collection. Queue. Lookup Cache.5. Classes. Simple Superclass Name. Qualified Subclass Name. Typing Interface Name. Scoping Package Name.6. Formatting. Method Signature. Role-Suggesting Parameter Name. Message Send. Left-Aligning Block. Guard Clause. Conditional Expression. Simple Enumeration Variable Name.7. Development Example. The Class Definer Utility.Appendix A: Performance. Java Optimizations. HotSpot. Big O.Appendix B: Pattern Summary. Behavior - Method. Behavior - Message. State. Collections. Classes. Formatting.Index.