169 похожих чатов

Например, почему нельзя возвращать объект лога, а его чекать на

наличие ошибок?

9 ответов

11 просмотров

Даже не знаю с чего начать? С принципа единственной ответственности?

Dmitriy-Obidin Автор вопроса
Денис
Даже не знаю с чего начать? С принципа единственно...

ну т.е. логирования вообще не должно быть, т.к. оно нарушает принцип единственной ответственности любого объекта где оно существует)

Dmitriy Obidin
ну т.е. логирования вообще не должно быть, т.к. он...

Ой, всё. Ты ж понимаешь, что дальше будет вопрос : а чо там у вас со слоями в архитектуре?

Денис
Даже не знаю с чего начать? С принципа единственно...

Лог не противоречит принципу единственной ответственности. Мы не сообщаем логу кто может добавлять в него сообщения

Dmitry B
Лог не противоречит принципу единственной ответств...

ну как? и бизнес логику проверяем (выполняем проверку) и лог пишем - не?

Денис
ну как? и бизнес логику проверяем (выполняем прове...

Да, но лог-то не знает какая бизнес логика проверяется. На входе просто сообщение. Опционально - с техническим контекстом, который он хранит, выдает по запросу, но не обрабатывает никак

Dmitry B
Да, но лог-то не знает какая бизнес логика проверя...

так я и не говорю, что ответственности дофига на логе оказывается. он тут просто контейнер. Много слишком на себя в этом случае класс-проверяльщик берет

Денис
так я и не говорю, что ответственности дофига на л...

Классов проверяльшиков как раз много, они и сами разбиты по принципу SRP, так что ни один класс слишком много не возьмёт, каждый за свою логику, а лог - за наличие каких-то ошибок

Денис
ну как? и бизнес логику проверяем (выполняем прове...

SRP позволяет классу выполнять несколько функций. Класс должен выполнять одну функцию - такой принцип тоже есть, но это не SRP.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта