Map
Index
Random
Help
th

QuoteRef: blocJ_2001




Group:
natural language
Topic:
software documentation
Group:
type inheritance
Topic:
object-oriented design
Topic:
interface type
Topic:
abstract data type
Topic:
object-oriented classes
Topic:
data type by access rights
Topic:
procedure valued variables
Topic:
programming style
Group:
parameters
Topic:
type parameter
Topic:
undefined, null, and other signal values
Topic:
arrays
Group:
sets
Topic:
interface between program modules
Topic:
initialization of data
Topic:
local declaration of data
Topic:
strings
Topic:
XML data type
Topic:
enumerated data types
Topic:
object-oriented fields
Topic:
type reflection and introspection
Topic:
user interface tool kits
Group:
program design
Topic:
efficiency
Topic:
code optimization
Group:
exception handling
Topic:
exception handling by recovery block or rescue clause
Topic:
object-defined exception handling
Topic:
defining a process
Topic:
process threads
Topic:
communicating sequential processes
Topic:
immutable files and data
Topic:
race conditions
Topic:
object serialization

Reference

Bloch, J., Effective Java, Programming Language Guide ,C Boston, Massachusetts, USA, Addison-Wesley ,D 2001. Google

Quotations
xi ;;Quote: to master a language you must master its grammar, vocabulary, and usage
xi+;;Quote: a book on the customary and effective usage of Java
78 ;;Quote: design for inheritance or prohibit it; inheritance commits forever design decisions about usage, protected methods, and other aspects of a class' inner workings
82 ;;Quote: prefer interfaces over inheritance; unless designed for inheritance, avoid using methods that may be overridden
84 ;;Quote: prefer interfaces over abstract classes; easy migration, easy mixins, easily wrapped for enhancements, nonhierarchical
85 ;;Quote: provide an abstract skeletal implementation for each nontrivial interface; e.g., AbstractList; simplifies implementation
88 ;;Quote: an abstract class is easier to evolve than an interface; can not add methods to a public interface
88 ;;Quote: can not change a widely implemented interface; for a new interface, create many test implementations
91 ;;Quote: a nested, member class should be static; it has access to all of the enclosing class's members
115 ;;Quote: replace function pointers with function objects and interfaces; a function object exports exactly one method
126 ;;Quote: use at most three parameters; do not use many parameters with the same type
127 ;;Quote: define parameters as interfaces instead of classes; greater flexibility without copy operations
134 ;;Quote: return a zero-length array instead of a null; nulls require special code
136 ;;Quote: document the API; write doc comments for exported classes, interfaces, constructors, methods, and fields
141 ;;Quote: declare and initialize local variables at first use; minimizes their scope
152 ;;Quote: strings are poor substitutes for value types, enumerated types, and aggregate types
156 ;;Quote: only refer to an object's class when creating it; use interfaces elsewhere
156+;;Quote: use interface types for parameters, return values, variables, and fields
158 ;;Quote: avoid reflection; no compile-time type checking, syntax is clumsy and verbose, performance is slow
158 ;;Quote: reflection is best for design time use by component-based application builder tools
159 ;;Quote: use reflection to create objects and use their interface or superclass for access
162 ;;Quote: think about performance during design; pervasive architectural flaws can limit performance forever; changing a design later can produce an ill-structured sytsem
163 ;;Quote: when optimizing a program, measure performance before and after each change
172 ;;Quote: use checked exceptions when recovery is possible; use run-time exceptions for programming errors
173 ;;Quote: checked exceptions should include methods that describe the context and cause of the error; assist with recovery
174 ;;Quote: use checked exceptions for multiple, necessary exceptions that allow recovery
178 ;;Quote: exception translation -- catch low-level exceptions and throw new exceptions in terms of the high-level abstraction
185 ;;Quote: failure atomic -- a failed method does not change the state; leave the object in a well-defined, usable state
191 ;;Quote: stop a thread by polling for a stop condition; killing a thread is inherently unsafe
204 ;;Quote: limit the number of currently runnable threads in an application; helps make it robust, responsive, and portable
208 ;;Quote: distinguish immutable classes, thread-safe classes, conditionally thread-safe, thread-compatible, and thread-hostile classes
213 ;;Quote: the serialized form is part of the API; it limits a class's implementation; serialization is less reliable and less secure, requiring more testing
213+;;Quote: implement Serializable only for value classes and collection classes
218 ;;Quote: a custom serialized form contains only the object's logical data; better than the default, physical representation

Related Topics up

Group: natural language   (16 topics, 539 quotes)
Topic: software documentation (64 items)
Group: type inheritance   (13 topics, 394 quotes)
Topic: object-oriented design (30 items)
Topic: interface type (50 items)
Topic: abstract data type (64 items)
Topic: object-oriented classes (67 items)
Topic: data type by access rights (20 items)
Topic: procedure valued variables (34 items)
Topic: programming style (47 items)
Group: parameters   (10 topics, 145 quotes)
Topic: type parameter (34 items)
Topic: undefined, null, and other signal values (34 items)
Topic: arrays (58 items)
Group: sets   (7 topics, 148 quotes)
Topic: interface between program modules (55 items)
Topic: initialization of data (45 items)
Topic: local declaration of data (11 items)
Topic: strings (13 items)
Topic: XML data type (22 items)
Topic: enumerated data types (17 items)
Topic: object-oriented fields (28 items)
Topic: type reflection and introspection (28 items)
Topic: user interface tool kits (31 items)
Group: program design   (13 topics, 454 quotes)
Topic: efficiency (96 items)
Topic: code optimization (54 items)
Group: exception handling   (12 topics, 314 quotes)
Topic: exception handling by recovery block or rescue clause (22 items)
Topic: object-defined exception handling (10 items)
Topic: defining a process (23 items)
Topic: process threads (25 items)
Topic: communicating sequential processes (33 items)
Topic: immutable files and data (59 items)
Topic: race conditions (33 items)
Topic: object serialization (13 items)

Collected barberCB 10/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.