Best Practices and Theory (JAV3)

Programming, Java, Spring

The audiences are supposed to have at least basic Java knowledge. This part would be useful more for less experienced developers, but it can provide a repetitive synoptic summary for more experienced ones.

COURSE LOCATION AND AVAILABLE DATES



This course is not scheduled as a public course.
It is delivered exclusively as customised training. The content, duration, date, and delivery format are tailored to the customer's requirements and can also be provided in English.

Request customised training

Course content:

Hide details
  • Design and coding guidelines
    1. DRW, DRY, and other principles
    2. A cookbook for writing a method: from the name to the body
    3. Orthogonal methods
    4. Overloading, overriding
    5. Parameter processing, dividing responsibility
    6. Using varargs
    7. Code styles, idioms, patterns
    8. Testing, debugging, optimizing
  • Dealing with exceptions
    1. Exceptions: theory and reality
    2. Common mistakes and abuses of exception handling
    3. Checked vs. unchecked exceptions, design considerations, contracting
    4. Using exceptions, failure atomicity
  • Type theory, contracts
    1. Terminology: abstraction, interface, contract, type, class, instance
    2. Liskov Substitution Principle, derived and related principles, subtyping and subclassing
    3. Consequences for class designing, member visibility
    4. Inheritance: when and why, common mistakes
    5. Inheritance vs. composition, using interfaces
    6. Idioms , techniques, guidelines
  • Creating instances
    1. How an instance can be created
    2. Applicable design patterns and their comparison
    3. Common mistakes, guidelines
  • Helpful tools
    1. Enum: underestimated and misused
    2. Using switch statement
    3. Nested classes
    4. Common methods, classes, and interfaces
    5. News in Java 7 and Java 8: how that helps
  • Mutability concerns
    1. Pitfalls of mutability, advantages of immutability
    2. Making a class immutable, true vs. effective immutability
    3. Getting an instance, applicable design patterns
    4. Disadvantages
Recommended previous course:
Java – Introduction to Programming (JAV1)
Recommended follow-up course:
Java: Concurrent Programming (JAV4)
Schedule:
3 days (9:00-17:00)

Training and learning environment