Classes
The following convention should be followed for class
naming:
Class names are generally nouns or nouns phrases, in title-case with the first letter of each separate word capitalized or UpperCamelCase. e.g.
- LeaveController
- EmployeeRepository
- AttendanceRecord
Test classes are named starting with the name of the class they are testing, and ending with Test. For example,
- LeaveControllerTest
- AttendanceRecordTest
Class name should be designed with single responsibility principle, self descriptive and self documenting.
Classes on various application layers should be suffixed with terms as given below
- Controller
- LeaveController
- ReportController
- Service
- EmployeeService
- LeaveCalculator
- ReportManager
- Models
- Leave
- Employee
- Balance
- Report
- Utils
- ExceptionUtils
- ReportBuilder (follows builder pattern while generating report)
- HTMLParser (cases which includes acronyms, should be written as it is.)
- Repository/DAO
- EmployeeDao
- LeaveRepository
- Controller