Size: a a a

Software Design/Architecture/Zen

2021 January 09

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
как переделать - хз. надо рефакторить - а как - непонятно.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Konstantin dmz9
как переделать - хз. надо рефакторить - а как - непонятно.
у фаулера книжка была как) Твоя IDE даже половину того что в книжке за тебя делать умеет
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
Sergey Milegov
Мож "выразительность"? В чистом коде про всякое такое. Я бывало на ревью кидал ссылки на главы этой книги. Ну а шо )))
Вот ещё вопрос, а почему про самодокументируемость, выразительность пишут меньше, чем про SOLID, например.
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
Sergey Protko
у фаулера книжка была как) Твоя IDE даже половину того что в книжке за тебя делать умеет
не, там не фаулера надо читать, там эванса надо читать
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
книжка лежит так и не добрался.
а домен кстати не так далёк от финансов - лизинговые рассчеты
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
На самом деле, мне кажется, если код написан на понятном языке, отрефакторить его к солид будет не сложно
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
и когда стоит задача в духе "уменьшаем ставку" - открывается банка пива )))
источник

SM

Sergey Milegov in Software Design/Architecture/Zen
Сергей Клевакин
Вот ещё вопрос, а почему про самодокументируемость, выразительность пишут меньше, чем про SOLID, например.
Не смогли придумать акроним?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Клевакин
Вопрос-то насущный... Вот вчера Акула скидывал проект свой... Ну вот нифига не понятно же)) решение задачи явно не языке предметной области
Акула может и скидывал код с доменом. И они там его все понимают. Но как общее решение совсем не понятно и мне.
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
Sergey Milegov
Не смогли придумать акроним?
Пока нет...)
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
Сергей Клевакин
На самом деле, мне кажется, если код написан на понятном языке, отрефакторить его к солид будет не сложно
некоторые штуки не про солид вообще.
например надо считать какие то рассчеты из 10 параметров и чтобы можно было в каждый параметр залезть, отключить, на любой итерации обсчета что то поменять, в аналитику записать, результат с графичком показать, пояснить что как считается.
и тут просто "числа" уже не канают. даже "деньги" как абстракция - недостаточно
источник

SM

Sergey Milegov in Software Design/Architecture/Zen
Сергей Клевакин
Вот ещё вопрос, а почему про самодокументируемость, выразительность пишут меньше, чем про SOLID, например.
А если серьезно. То Чистый код - это часто одна из первых книг, которую читают. И там всё довольно просто, так что не о чем и говорить.
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
Sergey Milegov
А если серьезно. То Чистый код - это часто одна из первых книг, которую читают. И там всё довольно просто, так что не о чем и говорить.
Проблема в том, что многие разрабы даже ее не читают)) у меня есть пара таких друзей) успешно трудятся на благо корпораций)
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
Konstantin dmz9
некоторые штуки не про солид вообще.
например надо считать какие то рассчеты из 10 параметров и чтобы можно было в каждый параметр залезть, отключить, на любой итерации обсчета что то поменять, в аналитику записать, результат с графичком показать, пояснить что как считается.
и тут просто "числа" уже не канают. даже "деньги" как абстракция - недостаточно
Вы к тому, что если код не приближен к языку доменной области и не объясняет решение задачи, то даже солид не позволит в нем разобраться? Тогда плюсую
источник

Р

Руслан in Software Design/Architecture/Zen
Сергей Клевакин
Проблема в том, что многие разрабы даже ее не читают)) у меня есть пара таких друзей) успешно трудятся на благо корпораций)
Есть которые читали, но через год и не вспомнят что в ней было то. С таким же успехом трудятся
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Что бы применять solid надо:

- уметь разбираться с зонами ответственности (тут помогает нейминг и анализ кому этот код пользу приносит)
- уметь рефакторить (ты не знаешь будущего и скорее всего будешь ошибаться в выборе абстракций)
- уметь в декомпозицию и устранение зависимостей (whole value паттерн)

Без этого толку от солида мало
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Konstantin dmz9
книжка лежит так и не добрался.
а домен кстати не так далёк от финансов - лизинговые рассчеты
на англ?
источник

Kd

Konstantin dmz9 in Software Design/Architecture/Zen
нет
источник

СК

Сергей Клевакин... in Software Design/Architecture/Zen
Sergey Protko
Что бы применять solid надо:

- уметь разбираться с зонами ответственности (тут помогает нейминг и анализ кому этот код пользу приносит)
- уметь рефакторить (ты не знаешь будущего и скорее всего будешь ошибаться в выборе абстракций)
- уметь в декомпозицию и устранение зависимостей (whole value паттерн)

Без этого толку от солида мало
Я люблю SOLID... Вроде понимаю, как и зачем его использовать. Но вот на досуге решал задачку и сам для себя отмечал принципы, которыми я реально пользуюсь при разработке/проектировании.

Получился такой перечень:

-Высокий уровень абстракции решения задачи понятный даже не программисту (вербозность)

-Тестируемость

-Расширяемость через создание новых файлов (что-то типа OCP)

-Локализация изменений (каждой причине для изменения свой файл) (что-то типа SRP)

SOLID на третьем месте... И до выполнения первых двух принципов к нему не стоит обращаться.

https://github.com/justerest/coffee-machine
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Сергей Клевакин
Я люблю SOLID... Вроде понимаю, как и зачем его использовать. Но вот на досуге решал задачку и сам для себя отмечал принципы, которыми я реально пользуюсь при разработке/проектировании.

Получился такой перечень:

-Высокий уровень абстракции решения задачи понятный даже не программисту (вербозность)

-Тестируемость

-Расширяемость через создание новых файлов (что-то типа OCP)

-Локализация изменений (каждой причине для изменения свой файл) (что-то типа SRP)

SOLID на третьем месте... И до выполнения первых двух принципов к нему не стоит обращаться.

https://github.com/justerest/coffee-machine
it('should returns true on start', () => { имхо сомнительное описание, почему например не 'should be working after start'?
источник