To improve consistency between the various parts of the ever-growing
travel sample, I'd like to propose the following naming conventions:

Contribution names:

  All lower case, can contain hyphens
  Examples: calendar, car, creditcard-payment-jaxb, emailgateway

Java package names:

  Interfaces should be in com.tuscanyscatours
  Implementation classes should be in com.tuscanyscatours.impl
  Use other packages where needed for specific scenarios
    - e.g., com.goodvaluetrips and com.goodvaluetrips.impl

Implementation class names:

  CamelCase with initial capital, ending with "Impl" suffix
  Examples: TripBookingImpl, ShoppingCartImpl, SCAToursImpl

Interface names:

  CamelCase with initial capital, no special suffix
  Impl classes with 1 service interface: impl name with "Impl" suffix removed
  Impl classes with >1 service interface: don't use the impl name with "Impl" 
suffix removed
  Examples: TripBooking, SCAToursSearch, SCAToursBooking

Component names:

  Impl class name (without Java package) with "Impl" suffix removed
  Examples: TripBooking, ShoppingCart, SCATours

Service names:

  Interface name (without Java package)
  Examples: TripBooking, SCAToursSearch, SCAToursBooking

Reference names:

  camelCase with no initial capital
  Examples: payment, cartStore

Property names:

  camelCase with no initial capital
  Examples: currency, exchangeRate


Comments, suggestions, questions?

  Simon


Reply via email to