Course Content
GENERAL CONCEPTS
- WHY CODING StandardsS ARE IMPORTANT
- THE PRIME DIRECTIVE
- WHAT MAKES UP A GOOD NAME
- GOOD DOCUMENTATION
- The Three Types of Java Comments
- A Quick Overview of javadoc
- AMBLER'S LAW OF StandardsS
StandardsS FOR MEMBER FUNCTIONS
- NAMING MEMBER FUNCTIONS
- Naming Accessor Member Functions
- Getters
- Alternative Naming Convention for Getters - Has and Can
- Constructors
- MEMBER FUNCTION VISIBILITY
- DOCUMENTING MEMBER FUNCTIONS
- The Member Function Header
- Internal Documentation
- TECHNIQUES FOR WRITING CLEAN CODE
- Document Your Code
- Paragraph/Indent Your Code
- Paragraph and Punctuate Multi-Line Statements
- Use Whitespace in Your Code
- Follow The Thirty-Second Rule
- Write Short, Single Command Lines
- Specify the Order of Operations
- JAVA CODING TIPS
- Organize Your Code Sensibly
- Place Constants on the Left Side of Comparisons
StandardsS FOR FIELDS (ATTRIBUTES/PROPERTIES)
- NAMING FIELDS
- Use a Full English Descriptor for Field Names
- Alternative - Hungarian Notation
- Alternative - Leading or Trailing Underscores
- Naming Components (Widgets)
- Alternative for Naming Components - Hungarian Notation
- Alternative for Naming Components - Postfix - Hungarian Notation
- Naming Constants
- Naming Collections
- Alternative for Naming Collections - The 'Some' Approach
- Do Not "Hide" Names
- FIELD VISIBILITY
- DOCUMENTING A FIELD
- THE USE OF ACCESSOR MEMBER FUNCTIONS
- Naming Accessors
- Advanced Techniques for Accessors
- Lazy Initialization
- Getters for Constants
- Accessors for Collections
- Accessing Several Fields Simultaneously
- Visibility of Accessors
- Why Use Accessors?
- Why Shouldn't You Use Accessors?
- ALWAYS INITIALIZE STATIC FIELDS
StandardsS FOR LOCAL VARIABLES
- NAMING LOCAL VARIABLES
- Naming Streams
- Naming Loop Counters
- Naming Exception Objects
- Bad Ideas for Naming Local Variables
- DECLARING AND DOCUMENTING LOCAL VARIABLES
- General Comments about Declaration.
StandardsS FOR PARAMETERS (ARGUMENTS) TO MEMBER FUNCTIONS
- NAMING PARAMETERS
- Alternative - Prefix Parameter Names with 'a' or 'an‘
- Alternative - Name Parameters Based on Their Type
- Alternative - Name Parameters the Same as Their Corresponding Fields
- DOCUMENTING PARAMETERS
StandardsS FOR CLASSES, INTERFACES, PACKAGES, AND COMPILATION UNITS
- StandardsS FOR CLASSES.
- Class Visibility
- Naming Classes
- Documenting a Class
- Class Declarations
- Apply The "final" Keyword Sensibly
- Ordering Member Functions and Fields
- Minimize the Public and Protected Interface
- StandardsS FOR INTERFACES
- Naming Interfaces
- Documenting Interfaces
- StandardsS FOR PACKAGES
- Naming Packages
- Documenting a Package
- StandardsS FOR COMPILATION UNITS
- Naming a Compilation Unit
- Documenting a Compilation Unit
MISCELLANEOUS StandardsS/ISSUES
- REUSE
- USE WILD CARDS WHEN IMPORTING CLASSES
- Alternative - Explicitly Specify Each Imported Class
- OPTIMIZING CODE
- WRITING JAVA TEST HARNESSES
- THE SECRETS OF SUCCESS
- USING THESE StandardsS EFFECTIVELY
- OTHER FACTORS THAT LEAD TO SUCCESSFUL CODE