Size: a a a

2021 March 21

t

ttldtor in codingteam
есть неплохая штуки типа SOLID и DRY. Вот я вижу, что автор клал на это)
источник

t

ttldtor in codingteam
возможно, докторов не учат такому
источник

t

ttldtor in codingteam
может им и не стоит код писать?
источник

t

ttldtor in codingteam
а то какое-то говно выходит
источник

c

codingteam@cjr in codingteam
sergevp
Я знаю, некоторые любят заюзать побольше паттернов. И меня всегда впечатляли HelloWorld-ы, которые умудляются заюзать сразу 2 десятка паттернов, типа:
 https://web.archive.org/web/20080905182121/http://www.phppatterns.com/docs/design/hello_world_in_patterns
 https://github.com/code4craft/hello-design-pattern — Hello world using all 23 kinds of GoF design patterns.
источник

t

ttldtor in codingteam
даже когда по директориям раскладываешь поближе к структурам алгоритмы, которые непосредственно работают с этими структурами, то уже читать удобнее. Даже не нужны методы всякие. Ты читаешь один тип структурки из файла, другой, третий, зачем всё пихать явно в один модуль трансляции, раздувая его до 4к строк. Это можно сделать не так больно для людей. Да-да, я помню. Можно писать для себя. Только вот я пишу код как минимум для себя в будущем. Это уже чуть другой человек.
источник

t

ttldtor in codingteam
codingteam@cjr
sergevp
Я знаю, некоторые любят заюзать побольше паттернов. И меня всегда впечатляли HelloWorld-ы, которые умудляются заюзать сразу 2 десятка паттернов, типа:
 https://web.archive.org/web/20080905182121/http://www.phppatterns.com/docs/design/hello_world_in_patterns
 https://github.com/code4craft/hello-design-pattern — Hello world using all 23 kinds of GoF design patterns.
Я знаю, что большинство не знаю ни про какие паттерны, потому что они либо "вошли в айти", либо "учёные"
источник

t

ttldtor in codingteam
не знают*
источник

c

codingteam@cjr in codingteam
sergevp
@ttldtor> есть неплохая штуки типа SOLID и DRY

Это очень абстрактные принципы. Ими можно руководствоваться, когда ты точно не знаешь, чего ты хочешь, чтобы потом меньше переделывать. Но в отдельных конкретных случаях их НЕсоблюдение приводит к меньшему числу ошибок (особенно это касается DRY).
источник

t

ttldtor in codingteam
codingteam@cjr
sergevp
@ttldtor> есть неплохая штуки типа SOLID и DRY

Это очень абстрактные принципы. Ими можно руководствоваться, когда ты точно не знаешь, чего ты хочешь, чтобы потом меньше переделывать. Но в отдельных конкретных случаях их НЕсоблюдение приводит к меньшему числу ошибок (особенно это касается DRY).
Это очень конкретный принципы, когда их применяют не на уровне программирования, а на уровне планирования проекта
источник

t

ttldtor in codingteam
можешь называть это дизайном
источник

t

ttldtor in codingteam
конкретные*
источник

t

ttldtor in codingteam
даже когда ты начинаешь разбивать на библиотечки, общие части, ты пользуешься этими правилами, иначе у тебя будет всё очень криво
источник

t

ttldtor in codingteam
либо слишком много мелких частей, либо слишком крупные
источник

t

ttldtor in codingteam
меня забавляет, что мне приходится объяснять такие тривиальные вещи
источник

t

ttldtor in codingteam
может мне больше досталось от говнокодеров?
источник

c

codingteam@cjr in codingteam
sergevp
Ну, DRY конкретен. Но его бездумное соблюдение приводит к переусложнённому коду, с ненужными константами (типа `#define SECONDS_IN_MINUTE 60`), и к проблемам в будущем (ой, мы переиспользовали одну и ту же функцию во втором модуле и забыли, потом изменили её для первого модуля и второй сломался).
источник

c

codingteam@cjr in codingteam
sergevp
А SOLID вообще абстрактен. То есть ни для какого конкретного кода нельзя однозначно ответить, удовлетворяет ли он уже принципам SOLID, или его можно ещё немного "улучшить", чтобы он им больше удовлетворял.
источник

t

ttldtor in codingteam
кстати, я точно не знаю, какой это принцип, но параметры программы (такие как количество потоков) лучше не описывать в заголовках. Это вот прям самый настоящий конфиговский конфиг. И редко его вычисляют, потому что это может нарушить работу системы, где работает софт.
источник

t

ttldtor in codingteam
codingteam@cjr
sergevp
А SOLID вообще абстрактен. То есть ни для какого конкретного кода нельзя однозначно ответить, удовлетворяет ли он уже принципам SOLID, или его можно ещё немного "улучшить", чтобы он им больше удовлетворял.
Принцип SOLID можно параметризовать не только словом class\structure, но и module
И тогда, например, буковка S (Single responsibility) , будет иметь очень конкретные последствия, если её не учитывать
источник