Чистый код: классы

  • Имя класса должно быть существительным, многозначным и в заглавном регистре с заглавной первой буквой каждого отдельного слова.
class FileEntity {
}
class FileRepository {
}
class FileUploadService {
}
class FileResource {
}
  • Класс — это концептуальное представление сущности в вашем приложении, и он содержит только те функции, которые сущность должна выполнять.
class UserService {
    public UserEntity fetchUserByEmail(String Email) {
    }
    public List<UserEntity> fetchAllUsers() {
    }
    public List<UserEntity> fetchSubscribedUsers() {
    }
    
    public UserEntity updateUser(String id, UpdateUserRequest request) {
    }
   
    public UserEntity updateUserSubscription(String id, UpdateSubscriptionRequest request) {
    }
    public void deleteUserById(String id) {
    }
    public boolean isValidUser(String id) {
    }
    public boolean isSubscibedUser(String id) {
    }
    public void logoutUser(String id) {
    }
 }
  • Определяйте функции, которые четко сфокусированы, и выполняйте их хорошо.
  • Это нормально, когда функции делают одно и то же, но принимают разные параметры.
class UserService {
    public UserEntity fetchUsers() {
    }
    public List<UserEntity> fetchUsers(boolean isSubscribed) {
    }
    public List<UserEntity> fetchUsers(FilterUserRequest request){
    }
}
  • Класс должен быть небольшим и содержать в среднем менее 30 функций и 600 строк кода [каждая функция имеет 20 строк кода].
  • Держите служебные методы и переменные закрытыми, за исключением некоторых для тестирования.
  • Чтобы написать чистые функции внутри класса, пожалуйста, проверьте мой предыдущий пост https://vignesh-satya.medium.com/clean-code-functions-f3cb17b691e2

Я намеренно сделал эту историю короткой, потому что не хочу объяснять все в одной истории. Увидимся в другой истории.