Что такое антишаблон?

Это вопрос соглашения. Действительно важная вещь - последовательность.

Большинство (но не все) разработчики предпочитают пробелы вкладкам, потому что они выглядят одинаково, независимо от какого-либо конкретного текстового редактора / установки ide. http://www.ecyrd.com/JSPWiki/wiki/WhyTabsAreEvil

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

175
задан Machavity 5 November 2018 в 20:05
поделиться

8 ответов

Антишаблоны - это определенные шаблоны в разработке программного обеспечения, которые считаются плохим программированием.

В отличие от шаблонов проектирования , которые представляют собой общие подходы к общим проблемам, которые были формализованы и обычно считаются хорошей практикой разработки, антишаблоны противоположны и нежелательны.

Например, в объектно-ориентированном программировании идея состоит в том, чтобы разделить программное обеспечение на небольшие части, называемые объектами. Антипаттерн в объектно-ориентированном программировании - это объект God , который выполняет множество функций, которые лучше разделить на разные объекты.

Например:

class GodObject {
    function PerformInitialization() {}
    function ReadFromFile() {}
    function WriteToFile() {}
    function DisplayToScreen() {}
    function PerformCalculation() {}
    function ValidateInput() {}
    // and so on... //
}

В приведенном выше примере есть объект, который делает все . В объектно-ориентированном программировании было бы предпочтительно иметь четко определенные обязанности для различных объектов, чтобы код оставался менее связанным и, в конечном итоге, более удобным в обслуживании:

class FileInputOutput {
    function ReadFromFile() {}
    function WriteToFile() {}
}

class UserInputOutput {
    function DisplayToScreen() {}
    function ValidateInput() {}
}

class Logic {
    function PerformInitialization() {}
    function PerformCalculation() {}
}

Суть в том, что есть хорошие способы разработки программного обеспечения с широко используемыми шаблонами ( ), но есть также способы разработки и внедрения программного обеспечения, которые могут привести к проблемам.

218
ответ дан 23 November 2019 в 20:26
поделиться

Шаблон - это идея того, как решить проблему определенного класса. Анти-шаблон - это идея о том, как не решить эту проблему, потому что реализация этой идеи приведет к плохому дизайну.

Пример: «шаблон» будет использовать функцию для повторного использования кода, «анти-шаблон» будет быть использовать копипаст для того же. Оба решают одну и ту же проблему, но использование функции обычно приводит к более удобочитаемому и удобному в сопровождении коду, чем копирование и вставка.

33
ответ дан 23 November 2019 в 20:26
поделиться

Анти-шаблон - это способ не решить проблему. Но это еще не все: это также способ, который часто можно увидеть в попытках решить проблему.

17
ответ дан 23 November 2019 в 20:26
поделиться

Как и в случае с шаблоном проектирования , анти-шаблон также является шаблоном и повторяемым способом решения определенной проблемы, но в неоптимальный и малоэффективный способ.

6
ответ дан 23 November 2019 в 20:26
поделиться

Если вы действительно хотите изучать AntiPatterns, получите книгу AntiPatterns (ISBN-13: 978-0471197133).

В нем они определяют: «Антипаттерн - это литературная форма, описывающая часто встречающееся решение проблемы, приводящее к явно отрицательным последствиям»

. плохая практика программирования, но не распространенная - ограничивается одним приложением, одной компанией или одним программистом, она не соответствует части "Pattern" определения AntiPattern.

10
ответ дан 23 November 2019 в 20:26
поделиться

Распространенный способ навести беспорядок. Например, класс god / kitchennsink (делает все).

9
ответ дан 23 November 2019 в 20:26
поделиться

Интересно, что данный способ решения проблемы может быть как шаблоном, так и анти-шаблоном. Синглтон - яркий тому пример. Он появится в обоих наборах литературы.

5
ответ дан 23 November 2019 в 20:26
поделиться

Анти-шаблоны - это обычные способы, которыми люди склонны неправильно программировать, или, по крайней мере, не очень хороший способ.

2
ответ дан 23 November 2019 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: