Исследование/отладка проекта с DI
@
Один интерфейс, десяток имплементаций
@
Вызов уходит в совершенно другую
@
В старую либу от предыдущей команды
@
Исходники утеряны
@
Один интерфейс, десяток имплементаций
@
Вызов уходит в совершенно другую
@
В старую либу от предыдущей команды
@
Исходники утеряны
как мем называется на второй пикче?
Просто идеально. Буквально сейчас на работе переписываем одну фичу с первого варианта на второй. Первый вариант просто отвратительный, ужасная лапша. Его проектировал какой-то долбоеб с парой лишних хромосом (я). За новый вариант я опасаюсь по этой же причине.
Ты радуйся, что это ты писал, а не три поколения предыдущих героев пива и клавиатуры
В итоге получится то же самое. Только ещё хуже, потому что никто не будет знать что где находится.
В любом случае пользовать будет это все долбоеб вообще без хромосом. Гуд лак!
Правильно подписать "Разница между структурным программированием и объектно-ориентированным."
Структурное программирование никак не противоречит объектам и инкапсуляции и прочему полиморфизму на самом деле. Это всё можно иметь и программируя на C без синтаксического ООП-сахара, инфа 100%. Инкапсуляцию и сокрытие потрохов обеспечивает разделение кода на программные модули и грамотное использование static м непрозрачных структур (opaque). Полиморфизм и прочая фигня реализуется при помощи структур и указателей. Только конструкторы/деструкторы приходится аккуратно вызывать самому, но это дисциплинирует.
Подтверждаю слова оратора выше. Я как раз пишу на Си с использованием всех этих подходов: и сокрытие с помощью static, и виртуальный полиморфизм своими руками, и наследование структур в стиле сокетов беркли.
Но на самом деле ООП - это несколько шире, чем инкапсуляция и полиморфизм ©, но это плавно переводит нас к срачам на тему труЪ и не труЪ ООПу и прочим SmallTalk'ам.
Но на самом деле ООП - это несколько шире, чем инкапсуляция и полиморфизм ©, но это плавно переводит нас к срачам на тему труЪ и не труЪ ООПу и прочим SmallTalk'ам.
Я думаю все же имелось ввиду что можно все фигачить в одном файле\проекте\модуле, а можно дробить. Единую простыню можно и на JAVA\C# наваять, а потом ахуеть при мерже 10 фич из разных веток.
А можно охуеть от стапицот каталогов и файликов в них. И в каждом по 10-15 строк хуй пойми чего. Типа битрикса какого нибудь.
Что хуже - неизвестно
Что хуже - неизвестно
Я недавно читал исходники одной Qt библиотеки, которая умеет рисовать граф из нод, чтобы понять, так как же мне сделать такой сраный масштабируемый GUI. Это было стопицот файлов с какими-то геттерами и сеттерами непойми чего, но где же сама суть я так и не понял.
исходники Chromium, например.
Ну его нахер, я не настолько джедай. Иногда приходится почитывать маааленькие кусочки Linux Kernel, мне как-то хватает.
Ну, количество файлов на самом деле не показатель проблемы. Как и их размер. Проект "единым файлом" плох тем что над ним сложнее работать в команде, т.к. раскидав задачи прогерам потом их нужно долго и аккуратно сливать в одно целое. В модульной системе как правило задача касается только конкретной части проекта, не особо пересекаясь с другими. Но это при граммотной архитектуре, т.к. на самом деле можно так накрутить реализацию, что замена в одном файле тянет за собой правки по всем остальным.
С другой стороны меня порой вымораживает когда на ровном месте создают метод лишбы "упаковать" участок кода. Или вообще создают метод расширения, который по хорошему должен быть приватным для класса. Или когда место лаконичного метода возращающего true\false добаляют новый класс(!) который создает отдельная фабрика(!!) возрадающая сложную модель(!!!) внутри которой уже высчитываем true\false....
С другой стороны меня порой вымораживает когда на ровном месте создают метод лишбы "упаковать" участок кода. Или вообще создают метод расширения, который по хорошему должен быть приватным для класса. Или когда место лаконичного метода возращающего true\false добаляют новый класс(!) который создает отдельная фабрика(!!) возрадающая сложную модель(!!!) внутри которой уже высчитываем true\false....
переходите на микросервисы... будет вам класно
И второй вариант всё равно лучше
Сука. Ох уж этот высокоинтеллектуальный юмор.
Чтобы написать коммент, необходимо залогиниться
1) чтение логов проекта на сервере. ( ожидание / реальность)
2) чтение roadmap проекта (ожидание / реальность)