Size: a a a

NestJS — русскоязычное сообщество

2020 August 11

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Oleg Rizhkov
можно немного философии?
как назвать функцию?
getTaskByIdOrThrowNotFound(id: string): TaskModel {
 const found = this.tasks.find((task) => task.id === id)
 if (!found) {
   throw new NotFoundException();
 }
 return found
}
не хочу название getTaskById - в функции removeTask я просто её вызываю не ожидая результата, в другой функции вызываю уже ожидая return.
Здесь нарушается паттерн синглтон
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Идёт и гет и проверка
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Если функция называется типо get...and...or... значит она сложная и ее нужно декомпозироваьь)))
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
В данном случае проверка и ошибка лишняя
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Проверку вынести в родителя, ошибку убрать
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
И код будет чище и читабельнее
источник

OR

Oleg Rizhkov in NestJS — русскоязычное сообщество
Maksim Zakharov
И код будет чище и читабельнее
так что ли?
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Oleg Rizhkov
removeTaskById(id: string): void {
 this.getTaskByIdOrThrowNotFound(id)
 this.tasks = this.tasks.filter((task) => task.id !== id)
}
Причём вот это это код контроллера
источник

OR

Oleg Rizhkov in NestJS — русскоязычное сообщество
Maksim Zakharov
Причём вот это это код контроллера
почему?
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Oleg Rizhkov
так что ли?
Похоже
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Да норм
источник

OR

Oleg Rizhkov in NestJS — русскоязычное сообщество
Maksim Zakharov
Да норм
ну а дублирование?
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Ну тогда сделай функцию checkTaskExist
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
И в неё эти 2
источник

OR

Oleg Rizhkov in NestJS — русскоязычное сообщество
Maksim Zakharov
Ну тогда сделай функцию checkTaskExist
она же будет как это выглядеть https://t.me/nest_ru/69999
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Тут уже да, вопрос про читабельность
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Oleg Rizhkov
так что ли?
Тут код дублируется но он читабельный
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Тут кода меньше, но ты под капотом кидаешь ошибки, а это не очевидно
источник

OR

Oleg Rizhkov in NestJS — русскоязычное сообщество
Maksim Zakharov
Тут кода меньше, но ты под капотом кидаешь ошибки, а это не очевидно
то есть, лучше дублирование? не стоит всегда в dry ударяться?
источник

MZ

Maksim Zakharov in NestJS — русскоязычное сообщество
Oleg Rizhkov
то есть, лучше дублирование? не стоит всегда в dry ударяться?
Если говорить про чистый код, командную работу, то лучше читабельность :)
источник