Было ли когда-либо доказано, что использование признанного антишаблона действительно решает проблему или приносит какую-либо пользу?[закрыто]

StackOverflow https://stackoverflow.com/questions/1847596

  •  13-09-2019
  •  | 
  •  

Вопрос

Было ли когда-либо доказано, что использование признанного антишаблона действительно работает в определенном конкретном случае?Решали ли вы когда-нибудь проблему или получали какую-либо выгоду в одном из своих проектов, используя антишаблон?

Это было полезно?

Решение

Антипаттерны все еще широко распространены потому что они решают конкретную проблему (при этом создают 10 новых).Также известен как обходной путь.Но как они говорят?Ничто не длится дольше, чем импровизированное решение.

На самом деле я считаю, что мы все остались бы безработными, если бы все было сделано правильно с самого начала.

Другие советы

Я понимаю концепцию «анти-шаблона» так, что она охватывает решения, имеющие недостатки, которые проявляются только в долгосрочной перспективе.Действительно, основная опасность, связанная со многими из них, — например, написание спагетти-кода с множеством глобальных переменных и переходов в разные стороны или выброс исключений в черную дыру пустого пространства. catch Блок состоит в том, что они соблазнительны, потому что обеспечивают целесообразное решение насущной проблемы.

ИЗМЕНИТЬ, чтобы добавить: По этой причине иногда вы получаете пользу от этих антишаблонов.Иногда ваш расчет, что вы пишете одноразовый код, к которому никто больше не будет прикасаться, совершенно неверен, и вы заканчиваете тем, что программисты по обслуживанию клевещут на ваше наследие и сексуальную гигиену, но в других случаях вы правы и этот дрянной сценарий оболочки, который скрепляется пакетами проволока и вертел выполняют свою работу, а затем, к счастью, забываются, экономя вам значительное время и усилия по сборке чего-то приличного.

По моему опыту, самая большая проблема, которую он решил, — это запуск нового приложения.

Когда команда разработчиков тщательно проанализировала новое приложение, сроки внедрения правильного решения обычно слишком велики для руководства.Поэтому часто вы пишете код, чтобы уложиться в сроки, а не «правильность» решения, чтобы добраться до даты запуска (но заставляете других кодировать «правильное» решение для следующей версии), что делает его, по сути, «выбрасываемым». код.

Одним из программных антипаттернов является Программное кодирование, также определенный в ежедневный WTF.Программное кодирование происходит, когда программисты помещают материал, который «должен быть» внутри кода, во внешние ресурсы.

Я работаю с программным обеспечением, которое, по мнению некоторых, страдает программным кодированием.Внешние файлы управляют программным обеспечением.Эти внешние файлы представляют собой микроязык:они должны быть скомпилированы в XML, прежде чем программное обеспечение сможет их использовать.У этого микроязыка есть свои инструменты.

Но софткодирование всегда в сознании смотрящего.

Наличие материала на микроязыке с собственным синтаксическим анализатором облегчило мою жизнь.Один источник данных может генерировать множество различных выходных данных:Помимо версии, которую использует основная программа, я могу извлекать информацию в HTML, .csv и другие форматы, которые нужны нашим клиентам.Другие программы могут генерировать код на микроязыке, что упрощает автоматизацию.

В нашем случае программное кодирование оказалось полезным шаблоном, а не антишаблоном.

Есть основания называть это закономерностью, а не законом.

Я предполагаю, что почти у каждого есть хотя бы один пример места в коде, где было сделано именно неправильно, и в долгосрочной перспективе это оказалось лучше, чем «правильное» действие.

И гораздо более длинный список примеров антишаблонов, вызывающих проблемы.

Я несколько раз использовал волшебные кнопки по незнанию или лени, и иногда это действительно срабатывало, и оказывалось, что мне не нужна дополнительная абстракция настоящего MVC.

Устройство Даффа использует Последовательность переключения контура (АКА Парадигма случая) антипаттерн.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top