Зміст проблеми:
Коротше кажучи, я успадкував кодову базу та команду розробників, яку мені не дозволяють замінювати, і використання об'єктів God є великою проблемою. Йдучи вперед, я хочу, щоб ми переосмислили речі, але я отримую відштовхування від команд, які хочуть зробити все з об'єктами Бога, "бо це простіше", а це означає, що мені не дозволять повторно визначати фактори. Я відштовхнувся, посилаючись на свій багаторічний досвід розвитку, що я є новим начальником, якого найняли знати ці речі тощо, і так зробила третя сторона офшорних компаній, яка займається продажем рахунків, і це зараз на рівні виконавчої влади та моєї зустрічі це завтра, і я хочу використати багато технічних боєприпасів, щоб пропагувати кращі практики, тому що я вважаю, що в довгостроковій перспективі це буде дешевше (і особисто я відчуваю, що це хвилює третю сторону) для компанії.
Моя проблема - з технічного рівня, я знаю її хороший довгостроковий термін, але у мене виникають проблеми з ультракоротким терміном і 6-місячним терміном, і хоча це щось, що я "знаю", я не можу довести це посиланнями та цитованими ресурсами за межами однієї людини (Роберт К. Мартін, він же дядько Боб), тому що мене просять зробити так, як мені сказали, що мають дані від однієї людини, і лише одна людина (Роберт Мартін) недостатньо аргументує .
Питання:
Які ресурси я можу навести безпосередньо (Назва, рік опублікованого, номер сторінки, цитата) відомими фахівцями в цій галузі, які прямо говорять про те, що використання об'єктів / класів / систем "Бог" є поганим (або хорошим, оскільки ми шукаємо для найбільш технічно обґрунтованого рішення)?
Дослідження я вже робив:
- У мене є низка книг, і я шукав їхні покажчики для використання слів «об’єкт бога» та «клас бога». Я виявив, що, як не дивно, його майже ніколи не використовується, а копія книги GoF, яку я маю, наприклад, ніколи не використовує (принаймні, згідно з індексом, що переді мною), але я знайшов це в двох книгах нижче, але мені хочеться більше Я можу використовувати.
- Я перевірив сторінку Вікіпедії на предмет "Бог Об'єкт" та його наразі заглушку з невеликими посиланнями, тому, хоча я особисто згоден з цим, він говорить, що це не так багато, що я можу використати в умовах, коли особистий досвід не вважається дійсним. Цитована книга також вважається занадто старою, щоб бути дійсною людьми, з якими я обговорюю ці технічні моменти, оскільки аргумент, який вони висловлюють, - це "колись вважалося поганим, але ніхто не міг цього довести, а тепер сучасне програмне забезпечення каже" бог "об'єкти корисні для використання". Я особисто вважаю, що це твердження невірне, але я хочу довести правду, якою б вона не була.
- У творі Роберта К. Мартіна "Agile Principles, Patterns and Practices in C #" (ISBN: 0-13-185725-8, тверда обкладинка), де на сторінці 266 сказано: "Усі знають, що заняття богом - це погана ідея. Ми не хочемо сконцентрувати весь інтелект системи в одному об'єкті або єдиній функції. Однією з цілей OOD є розподіл і розподіл поведінки на багато класів і багато функцій ". - А далі продовжує говорити, що іноді краще використовувати класи God Canyatly (посилаючись на мікроконтролери як приклад).
- У статті "Чистий код: Роберт С. Мартін: Посібник з гнучкої майстерності програмного забезпечення" сторінка 136 (і лише ця сторінка) розповідає про "клас Бога" і називає це головним прикладом порушення правила "класи повинні бути малі". він використовує для просування єдиного принципу відповідальності ", починаючи з сторінки 138.
Проблема, яку я маю, - це всі мої посилання та цитати, що надходять від однієї і тієї ж людини (Роберт К. Мартін), і я з тієї самої людини / джерела. Мені кажуть, що оскільки він є лише одним поглядом, моє бажання не використовувати «Класи Бога» є недійсним і не сприймається як стандартна найкраща практика в галузі програмного забезпечення. Це правда? Чи роблю я неправильно з технічної точки зору, намагаючись дотримуватися вчення дядька Боба?
Об'єкти та об'єктно-орієнтоване програмування та дизайн:
Чим більше я думаю про це, тим більше я вважаю, що це більше щось, що ви дізнаєтесь, коли вивчаєте ООП, і це ніколи прямо не викликається; Яке неявне для хорошого дизайну - це моє мислення (Не соромтеся виправляти мене, будь ласка, як я хочу дізнатися). Проблема полягає в тому, що я "знаю" це, але це не всі, тому в цьому випадку його не вважають коректним аргументом, оскільки Я фактично називаю це універсальною істиною, коли насправді більшість людей її статистично не знають, оскільки статистично більшість людей не є програмістами.
Висновок:
Я втрачаю те, що шукати, щоб отримати найкращі додаткові результати, оскільки вони висловлюють технічну заяву, і я хочу знати правду і мати можливість довести це цитатами, як справжній інженер / вчений, навіть якщо Я упереджений об'єктами бога через свій особистий досвід з кодом, який їх використовував. Будь-яка допомога чи цитування були б вдячні.