Обсуждение:Золотой молоток

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Разделы статьи[править код]

Интересно увидеть в статье следующее:

✔ Сделано.
  • с какими концепциями антипаттернов взаимосвязано и чем отличается (см. концепции в статье англовики + интересно - взаимосвязь и разница с "Silver Bullet");
✔ Сделано.
  • найдите и поставьте ссылки на словари - как правильно писать "антипаттерн" или "анти-паттерн";
Посмотрел словарях, нигде нет однозначного написания. Например на dic.academic.ru и так и так пишется.
dic.academic.ru - это мета-словарь, т.е. оболочка над другими конкретными словарями. В данном случае по анти?паттерну данные взяты из Википедии, которая не может являться для нас авторитетом, т.к. мы сами её пишем.
Можно решить вопрос так - взять более-менее серьёзные книги по паттернам и посмотреть написание. Возьмём "Аллен Э. Типичные ошибки проектирования". Стр. 22 "антипаттерны" - слитное написание, без дефиса. Стр. 63 "анти-паттер". Переводчик, может и не ..., но точно с плохой памятью, такая книга нам не поможет :)
Берём следующую книгу: "Head First Design Patterns / Паттерны проектирования", 2011 год, Издательство: Питер, есть на рутрекере. В этой книге чётко и единообразно (по всей книге) написано "антипаттерн" - слитно. Если найдёте другие авторитетные источники с написание через дефис - можно будет продолжить обсуждение. -- Andrew Krizhanovsky 18:00, 14 января 2013 (UTC)[ответить]
  • укажите место паттерна среди других, используйте для этого информацию из документа с чудесными иллюстрациями [1];
Существует очень много классификаций, однозначно определить не представляется возможным.
  • как избежать данной проблемы, конкретные рекомендации (это, как я понимаю, соль и ключ статьи);
✔ Сделано.
  • примеры конкретных случаев данного паттерна на практике, см. пример на стр. 123 в работе Design Patterns Past and Future для других паттернов.
✔ Сделано.

-- Andrew Krizhanovsky 17:43, 11 декабря 2012 (UTC)[ответить]

Дополнения:

  1. После того, как во введении к статье дадите определение "Золотой молоток - это...", дайте определение "Антипаттерны - это...". См. как это сделано у Алёны "Определение плагиата".
✔ Сделано. Определение Золотого молотка и анти-паттерна есть.
  1. На Rutracker'e есть книга "Типичные ошибки проектирования". Укажите в своей статье, что существует понятие "паттерн ошибки" и чем он отличается от антипаттернов, возьмите его из книги (стр. 21-22 и 65-66, 216), можно оттуда же взять и определение для антипаттернов (стр. 213, 216). -- Andrew Krizhanovsky 14:44, 13 декабря 2012 (UTC)[ответить]
✔ Сделано. Добавил.

Довесок[править код]

Оборачивать шаблон в шаблон вот так: "{{lang-en| {{нп3|" - не нужно. Шаблон "lang-en" здесь лишний. И вообще, зачем здесь ссылка на английскую версию статьи, ведь вы уже указали её с помощью интервики.

✔ Сделано. Оставил только англ. 

В преамбуле сейчаc нет определения, типа "Золотой молоток - это..." со ссылкой на ВП:АИ

✔ Сделано.

Вы трижды ссылаетесь на книгу Аллена в 224 страницы. Укажите конкретные номера страниц для удобства проверки. См., как это сделал Мошанин или перечитайте, как пользоваться шаблоном {{sfn}}.

✔ Сделано. Правильно??

Волков Андрей 18:30, 8 января 2013 (UTC)[ответить]

Общее замечание. Если вы выполнили какое-либо из пожеланий, представленных на этой странице, то напишите после конкретного замечания "Сделано" и уточните - что сделано. Если вы не согласны, то здесь же после конкретного замечания - разъясните свою точку зрения. См., как это сделано здесь: Википедия:Кандидаты в избранные статьи/Северный Ледовитый океан. -- Andrew Krizhanovsky 08:48, 7 января 2013 (UTC)[ответить]

Небольшое замечание[править код]

isbn найди, как параметр шаблона для книг и, возможно, статей =Р Andronov Ruslan 15:44, 9 января 2013 (UTC)

к чему нашел записал! Волков Андрей 16:40, 9 января 2013 (UTC)[ответить]

Дополнение[править код]

У англичан в разделе "См. также" ссылка на статью "Панацея". Предлагаю викифицированно вплести в ткань текста или же добавить в "См. также" - по желанию. -- Andrew Krizhanovsky 22:57, 9 января 2013 (UTC)[ответить]

✔ Сделано.

Волков Андрей 23:34, 9 января 2013 (UTC)[ответить]

Доп. инфа по золотому молотку[править код]

Книга "Head First Design Patterns / Паттерны проектирования", 2011 год, Издательство: Питер, (есть на рутрекере), стр. 623. Добавьте оттуда в статью (со ссылкой на страницу в книге):

  1. факторы, которые объясняют, почему вообще возникает такая проблема у разработчиков, как "ЗМ". :: ✔ Сделано.
  2. способ преодоления данной проблемы :: ✔ Сделано.
  3. в раздел "Пример" добавьте пример о кэшировании (оттуда же). -- Andrew Krizhanovsky 18:00, 14 января 2013 (UTC) :: ✔ Сделано.[ответить]

Отлично. Следующие доработки:

  1. Укажите номер страницы при ссылке на Фримена. ✔ Сделано
  2. Почему Издательство Питер - заглавными буквами? ✔ Сделано
  3. Разделы "Факторы..." и "Пример" слишком куцые, слейте их с разделом "Суть..." ✔ Сделано
  4. Раздел "Способы борьбы с золотым молотком" устраивает, но откуда материал? Добавьте источник.
  5. Что не ясно по анимации? Если считаете, что текущая анимация идеальна, то объясните, пожалуйста, как подпись рисунка "Как бороться с анти-паттерном Золотой Молоток" соответствует тому, что изображено? Разве трудно поменять текст в анимации, как я предлагаю ниже, чтобы анимация приобрела смысл?
  6. 12 и 13 задания за вами. См. User:AKA MBG/task. -- Andrew Krizhanovsky 20:34, 29 января 2013 (UTC)[ответить]

Пример[править код]

Переименуйте название этого раздела во что-то более осмысленное и не такое краткое. Отвратительно много опечаток и бессвязного текста в этом разделе. Попробуйте прочитать вслух этот ужас. -- Andrew Krizhanovsky 18:00, 14 января 2013 (UTC)[ответить]

✔ Сделано. заменил пример

Иллюстрация[править код]

Способы борьбы с анти-паттерном золотой молотк

Посмотрел на иллюстрацию и подумал - о чём же эта анимация?

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

Поэтому вместо четырёх фраз, которые сейчас рисуются в анимации, должны быть названия каких-либо паттернов (любых) с этой страницы en:Software design pattern (в четырёх таблицах). А раз (так удачно) типов паттернов получается тоже четыре, то я предлагаю эти названия шаблонов и взять:

Иллюстрации (иконки) под кажый из этих шаблонов - не знаю, или те же оставить, что есть - или более подходящие подобрать.

С идеей согласны? -- Andrew Krizhanovsky 15:09, 10 января 2013 (UTC)[ответить]

Поменял подпись к анимации, она соответствует разделу в которой она находиться и наглядно показывает "чего боится золотой молоток", т.е. на пример: если после/до применения какой то одной и той же технологии для разных задач(гвоздей на анимации), проделать необходимые операции -> можно выявить Золотой молоток и исправить ситуацию(сломать Золотой молоток).
Это мое понимание данной анимации, я считаю что она вполне полная. Вы согласны? -- Volkovad
Не понимаю, (1) каким образом "Прототипирование" позволяет бороться с "Золотым молотком", (2) как можно идентифицировать молоток с помощью "просмотра кода", (3) как можно устранить "молоток" с помощью "Рефакторинга"?
Вы ведь сами объяснили суть молотка в определении - "заключается в использовании одного и тогоже решения везде". Т.е. проблема не в коде, а в голове кодера, и просматривай код - не просматривай, голова кодера от этого не изменится. И причём здесь "рефакторинг", разве изменение программного кода поменяет отношение разработика к решению задач? Это ведь совершенно разные вещи, разные уровни проблемы.
Я потому и спросил выше - откуда взят материал для раздела "Способы борьбы с золотым молотком" - ибо текст очень сомнительный и мутный.
Не спорьте, перерисуйте лучше. -- Andrew Krizhanovsky 22:24, 29 января 2013 (UTC)[ответить]


http://www.luxoft-training.ru/upload/iblock/f36/antitemplates_of_programming_a_seminar.pdf (15 слайд). Мы не из головы "кодера" "Золотой молоток" изгоняем, а из проекта/программы/задачи. По этому при просмотре кода, можно увидеть что все локальные(глобальные) задачи/проблемы решаются одним и тем же методом И задуматься а везде ли он подходит и изменить подход. А если уже проект/задача решена, тогда рефакторинг.

Я не пытаюсь спорить, это попытки объяснить. То что Вы предлагаете наверное тоже правильно, но я пока не разубедился в том что моя анимация имеет права на жизнь. Волков Андрей 22:57, 29 января 2013 (UTC)[ответить]

Очень хорошие попытки.
Презентация не является аналогом научной статьи, т.к. (1) не проходит рецензирования, (2) является конспектом, т.е. непонятна без доп. разъяснений. Если желаете, можете оформить и добавить ссылку на презентацию.
Если вы готовы быть толмачом конспекта презентации и чуть более связно (чем выше) изложить ваше понимание способов борьбы в разделе "Способы борьбы с золотым молотком", то изложите. То, что у вас написано в этом разделе сейчас - бессвязный конспект в телеграфном стиле, понятный только автору той презентации:
Способом идентификации — просмотр кода (англ. Code review).
Способы устранения — Рефакторинг.

Не слишком ли кратко и невразумительно? -- Andrew Krizhanovsky 08:16, 30 января 2013 (UTC)[ответить]

Вижу, вы добавили две ссылки на, в самом деле, замечательные книги по этой теме (Brown и Laplante). Это очень хорошо. Но...
Но так в Википедии не делается. Ссылки добавляются не в конце раздела (это неуважение к читателю, пусть, мол, сам всё прочитает и догадается - какое утверждение откуда взято), а после каждого нетривиального утверждения.
В разделе "Способы борьбы с золотым молотком" вы написали четыре предложения. Поставьте ссылки на источники после (в идеале - каждого) предложения, которое эти источники подтверждают. Т.е. ваша задача - подумать и передвинуть шаблоны sfn в правильное место.
Если таких утверждений в вашем тексте нет, то нужно вдумчиво перечитать источники и написать другой текст. -- Andrew Krizhanovsky 14:03, 30 января 2013 (UTC)[ответить]
Передвинул шаблоны sfn и подправил указанные в них страницы. Так же дописал пример, о конкретной области, для наглядности в один из пунктов. Жду комментариев... Волков Андрей 14:49, 30 января 2013 (UTC)[ответить]

Способом идентификации — просмотр кода (англ. Code review), мониторинг кода в ходе выполнения поставленной задачи и выявление не оптимальных, либо часто повторяющихся решений, анализ и сравнение их альтернатив. (Laplante P. A., 2005, с. 73)

У Лапланта на 73 странице не вижу ни строчки про "просмотр кода". В каком абзаце или строке на 73 странице? -- Andrew Krizhanovsky 15:05, 30 января 2013 (UTC)[ответить]
Ну да, речь все же идет немного о разных уровнях, у меня - уровень разработчиков, в книге все же про менеджмент. У меня - выявление молотка в коде, в книге - выявление молотка на уровне управления. Немного переформулирую фразу и отпишусь. Волков Андрей 15:21, 30 января 2013 (UTC)[ответить]
Описал оба уровня (Управленческий/Разработчиков), передвинул шаблон sfn к уровню менеджмента. Волков Андрей 15:37, 30 января 2013 (UTC)[ответить]
Сначала у вас в статье "Программист", затем "разработчики программного обеспечения", наконец - "менеджер". И пояснение про разные уровни есть только на странице обсуждения. Считаю, что эта информация должна быть в статье. Например, в разделе "Суть...". Или кратко - в преамбуле. Со ссылками на книги для менеджеров и книги для кодеров. -- Andrew Krizhanovsky 16:15, 30 января 2013 (UTC)[ответить]
Текст появился. Ссылок нет. -- Andrew Krizhanovsky 16:49, 30 января 2013 (UTC)[ответить]
Добавил ссылки на книги: 1) В первой речь идет о золотом молотке в менеджменте; 2) Во второй по описываются обе стороны. Книги только по программированию есть, но они по конкретным языкам (есть книга про анти-паттерны в JAVA)... и я не смог найти в ней пример золотого молотка. -- Волков Андрей 17:32, 30 января 2013 (UTC)[ответить]

Анимацию на английском добавьте с соответствующей подписью в статью англовики. -- Andrew Krizhanovsky 16:15, 30 января 2013 (UTC)[ответить]

Я не буду трогать английскую статью, до получения зачета у меня нет на нее свободного времени. -- Волков Андрей 16:19, 30 января 2013 (UTC)[ответить]
Можете перечитать список заданий - это обязательное. -- Andrew Krizhanovsky 16:49, 30 января 2013 (UTC)[ответить]
Извините, не заметил последнего пункта задания с иллюстрацией. В английской версии моей стати почти нет никакой информации. Там даже близко нет раздела "Способы борьбы с золотым молотком". Значит ли это, что я должен дописывать новые разделы в английскую статью? или просто должен добавить туда анимацию с подписью? -- Волков Андрей 17:04, 30 января 2013 (UTC)[ответить]
Если есть время и желание, то можете добавить туда раздел под анимацию. Нет - тогда только анимацию с развёрнутой подписью, чтобы было понятно - что на ней изображено. См. подпись анимации у Мошанина en:Collaborative filtering. -- Andrew Krizhanovsky 17:32, 30 января 2013 (UTC)[ответить]

Рецензирование[править код]

Здесь находятся завершившиеся обсуждения. Просьба не вносить изменений.

Рецензирование статьи Золотой молоток[править код]

Дорогие коллеги, прошу вас дать советы и высказать предложения по улучшению статьи.

Для начала её надо написать, чтобы улучшать. Сейчас там стаб, а не статья. Его полностью переписывать надо, а не улучшать. Филатов Алексей 06:05, 30 января 2013 (UTC)[ответить]
Неправильно используется шаблон {{sfn}}. Номера страниц, на которые вы ссылаетесь (622-623), нужно указывать не в шаблоне "книга", а именно в {{sfn}}. -- Andrew Krizhanovsky 08:07, 30 января 2013 (UTC) ✔ Сделано исправил Волков Андрей 08:21, 30 января 2013 (UTC)[ответить]

Книга Брауна[править код]

Признателен за книгу Брауна - очень интересная. В статью следует добавить следующий материал из Брауна:

  1. Известные исключения, когда к всеобщему удивлению антипаттерн ЗМ всё-таки работает. Их два. Стр. 62.
уже же есть этот раздел, и как раз они там приведены =( -- Волков Андрей 18:21, 30 января 2013 (UTC)[ответить]
А почему там ссылки нет на источник? -- Andrew Krizhanovsky 19:36, 30 января 2013 (UTC)[ответить]
  1. У вас есть список "Факторы способствующие появлению золотого молотка" из четырёх пунктов. Расширьте его материалом из раздела "Typical Causes", стр. 62 со ссылкой на эту страницу. ✔ Сделано расширил -- Волков Андрей 18:52, 16 июня 2014 (UTC)[ответить]
  1. У вас не указаны симптомы этой проблемы. Добавьте "Symptoms And Consequences" со ссылкой на стр. 62. -- Andrew Krizhanovsky 16:51, 30 января 2013 (UTC) ✔ Сделано указал -- Волков Андрей 18:52, 16 июня 2014 (UTC)[ответить]

Связь с другими паттернами и антипаттернами[править код]

  1. Процитируйте, что есть взаимосвязь с антипаттерном Corncob (трудные люди), Браун, стр. 126-130. Кратко опишите антипаттерн Corncob, т.е. его нет в enwiki.
  2. Опишите, как в результате ЗМ получается en:Lava flow (programming), стр. 64.
  3. Опишите, как взаимосвязаны ЗМ и Vendor lock-in, стр. 64, тоже спасибо Брауну.

Думаю, уже назрела необходимость сделать раздел статьи "Связь с другими паттернами и антипаттернами" и слить туда "пулю", Corncob, лаву и вендора. Если текста по каждому будет больше пары абзацев, то сделайте подразделы, если меньше - то один раздел. -- Andrew Krizhanovsky 16:51, 30 января 2013 (UTC) ✔ Сделано создал соответствующий раздел -- Волков Андрей 18:52, 16 июня 2014 (UTC)[ответить]

С точки зрения программиста-электрика[править код]

  • Не определён контекст. Вначале говориться о проектировании. Правильно ли мы, отставные электрики, понимаем, что речь о проектировании вообще, от киосков союзпечати до олимпийских объектов? Затем появляется ссылка на статью Шаблон проектирования, которая относится к узким контекстам проектирования ПО. Правильно ли заключение о том, что понятие «золотого молотка» уместно только в контексте «шаблона программирования», а в остальных контекстах программирования — нет? Возможно ли применять понятие «анти-паттерна», скажем, к программированию поточной цифровой обработки видеосигнала или прошивки, ну например, бытового оксиметра или встроенного контроллера заряда-разряда аккумулятора?
  • Не проведена грань — когда же именно следование хорошему решению становится «золотым молотком». А это самое главное, иначе весь разговор о паттернах-антипаттернах теряет смысл. Здесь крайне необходимы конкретные примеры. «Вот — задача. Вот — подход к её решению, уместные для этой задачи. Вот — другая задача, в которой тот же подход даёт такие-то и такие-то негативные последствия (по таким-то причинам). А вот — полужуравль и полукот альтернативный подход, лишённый этих недостатков.»
  • Два те самые исключения определены совершенно невнятно и (в нынешней формулировке) наполнены противоречиями (на самом деле их нет - проблема с изложением). «Если продукт является частью пакета поставщика, для большинства потребностей программного обеспечения.» — такого эзопова языка быть не должно!
  • «анти-паттерн „Golden Hammer“ говорит о том, что применение одного и того же „любимого“ решения не уместно и приводит к отрицательным последствиям» — то есть анти-паттерн это хорошо, раз он почти как К. О. говорит такие мудрые слова? С третьего раза понятно, что вы хотели сказать. Надо, чтобы было понятно с первого. А затем следует доказать утверждение, которое противоречит здравому смыслу. Просто сноски на теоретические работы мало. Объясните, почему сегодня вдруг стало нельзя применять решения, которые работали вчера и позавчера.
  • Про работы Марка Твена в области шаблонов проектирования можно было бы и подробнее ;). Retired electrician (talk) 00:00, 4 февраля 2013 (UTC)[ответить]

История термина[править код]

В разделе "История термина" говорится только про английские термины. Этого недостаточно для статьи на русском языке. Странно, если не найдётся русских поговорок, которые говорят о чём-либо, что пытаются везде (слишком и не по назначению) использовать. Посмотрите словарь русских пословиц.

P.S. Первое приходит на ум: "заставь дурака богу молиться, он себе и лоб расшибёт". Ещё? -- Andrew Krizhanovsky 10:36, 4 февраля 2013 (UTC)[ответить]

Пролистал словарь русских пословиц, богатое место. Информации о отношении наших пословиц к истории анти-паттерна золотой молоток - не нашел. Даже на уровне как у Марка Твена :) -- Волков Андрей 18:53, 16 июня 2014 (UTC)[ответить]

Привязка к ПО[править код]

Статья как-то сильно привязана именно к разработке ПО и проектированию в общем. Почему? На мой взгляд, суть наиболее точно отображает фраза из анг. статьи — Golden hammer is an over-reliance on a familiar tool. И вообще, гляньте их версию, она куда более обобщенная, что, на мой взгляд, правильнее. --86.57.188.227 02:44, 22 октября 2013 (UTC)[ответить]

Да, прошу простить, ибо точно о том же уже было написано постом выше,причем более внятно (про контекст) =| Как удалить свой пост не нашел, так что вот. Буду внимательнее впредь. --86.57.188.227 02:49, 22 октября 2013 (UTC)[ответить]