Краткое описание проблемы:
Короче говоря, я унаследовал кодовую базу и команду разработчиков, которую мне не разрешено заменять, и использование God Objects является большой проблемой. В дальнейшем я хочу, чтобы мы перефакторили вещи, но я получаю отпор от команд, которые хотят делать все с Богом-объектами «потому что это проще», и это означает, что мне не позволят пересматривать факторы. Я отодвинулся, сославшись на свой многолетний опыт разработки, на то, что я новый начальник, которого наняли, чтобы узнать эти вещи и т. Д., И так же, как и у представителя сторонних компаний, занимающегося продажами аккаунтов в оффшорных компаниях, и теперь это на уровне руководства и моей встречи это завтра, и я хочу пойти с большим количеством технических боеприпасов, чтобы защищать лучшие практики, потому что я чувствую, что это будет дешевле в долгосрочной перспективе (и я лично чувствую, что это то, о чем беспокоится третья сторона) для компании.
Моя проблема связана с техническим уровнем, я знаю, что она хороша в долгосрочной перспективе, но у меня проблемы со сверхкоротким сроком и 6-месячным сроком, и хотя я кое-что «знаю», я не могу доказать это ссылками и цитируемыми источниками за пределами одного человека (Роберт С. Мартин, он же дядя Боб), так как это то, что меня просят сделать, как мне сказали, имея данные от одного человека, и только один человек (Роберт С. Мартин) недостаточно хорош для аргументации ,
Вопрос:
Какие ресурсы я могу прямо процитировать (название, год публикации, номер страницы, цитата) от известных экспертов в этой области, которые прямо говорят, что использование «божьих» объектов / классов / систем плохо (или хорошо, так как мы ищем для наиболее технически обоснованного решения)?
Исследования, которые я уже сделал:
- У меня есть несколько книг здесь, и я искал в их указателях слова «объект бога» и «класс бога». Я обнаружил, что, как ни странно, он почти никогда не использовался, и копия книги о GoF, которая у меня есть, например, никогда не использует ее (по крайней мере, согласно индексу передо мной), но я нашел ее в двух книгах ниже, но я хочу больше Я могу использовать.
- Я проверил страницу Википедии на предмет «Объекта Бога», и в настоящее время на нем есть заглушка с небольшими ссылочными ссылками, поэтому, хотя я лично согласен с этим, в ней говорится, что на ней мало что можно использовать в среде, где личный опыт не считается действительным. Упомянутая книга также считается слишком старой, чтобы быть действительной для людей, с которыми я обсуждаю эти технические моменты, поскольку аргумент, который они выдвигают, заключается в том, что «когда-то это считалось плохим, но никто не мог доказать это, и теперь современное программное обеспечение говорит:« Бог » «объекты хороши в использовании». Я лично считаю, что это утверждение неверно, но я хочу доказать правду, что бы это ни было.
- В книге Роберта С. Мартина «Гибкие принципы, шаблоны и практики в C #» (ISBN: 0-13-185725-8, в твердом переплете), где на странице 266 говорится: «Все знают, что уроки богов - плохая идея. Мы не хотим сконцентрировать весь интеллект системы в одном объекте или одной функции. Одной из целей OOD является разделение и распределение поведения на множество классов и функций ». - А потом продолжает говорить, что иногда все равно лучше использовать классы Бога (в качестве примера приводим микроконтроллеры).
- В книге Роберта С. Мартина «Чистый код: руководство по гибкому программному обеспечению» на странице 136 (и только на этой странице) говорится о «классе Бога» и приводится его в качестве основного примера нарушения правила «классы должны быть маленькими». он использует для продвижения принципа единой ответственности », начиная со страницы 138.
У меня проблема в том, что все мои ссылки и цитаты происходят от одного человека (Роберт К. Мартин) и принадлежат одному и тому же человеку / источнику. Мне говорят, что из-за того, что он всего лишь одна точка зрения, мое желание не использовать «Бог-классы» недопустимо и не принимается как стандартная лучшая практика в индустрии программного обеспечения. Это правда? Я делаю что-то неправильно с технической точки зрения, пытаясь придерживаться учения дяди Боба?
Бог-объекты и объектно-ориентированное программирование и дизайн:
Чем больше я думаю об этом, тем больше я думаю, что это больше то, что вы изучаете, когда изучаете ООП, и это никогда явно не вызывается; Это подразумевает хороший дизайн - мое мышление (не стесняйтесь поправлять меня, пожалуйста, поскольку я хочу учиться), проблема в том, что я «знаю» это, но не все знают, поэтому в этом случае это не считается действительным аргументом, потому что Я фактически называю это универсальной правдой, когда на самом деле большинство людей статистически не знают об этом, поскольку статистически большинство людей не являются программистами.
Заключение:
Я не знаю, что искать, чтобы получить наилучшие дополнительные результаты для цитирования, поскольку они предъявляют технические требования, и я хочу знать правду и быть в состоянии доказать это цитатами, как настоящий инженер / ученый, даже если Я склонен против объектов бога из-за моего личного опыта с кодом, который их использовал. Любая помощь или цитаты будут высоко оценены.