Википедия

Золотой молоток

Золото́й молото́к (англ. Golden hammer) — антипаттерн проектирования, заключающийся в использовании одного и того же решения везде, в том числе путём искусственной подгонки условий, требований, ограничений задачи под данное решение.

Также известен под названиями: закон инструмента (англ. The law of the instrument), молоток Маслоу (англ. Maslow's hammer), «молоточек» (англ. gavel). Может появляться как на управленческом уровне, так и на уровне разработчиков, суть от этого не меняется.

Суть антипаттерна

Золотой молоток — уверенность в полной универсальности какого-либо решения и применение этого решения (например, одного из паттернов проектирования в программировании) к любым задачам. Склонность к использованию «золотого молотка» не зависит от опыта специалиста.

Факторы, способствующие появлению «золотого молотка»:

  • группа разработчиков стремится использовать знакомую технологию;
  • группа разработчиков не знакома с другими технологиями разработки;
  • переход на другую технологию сопряжён с определённым риском;
  • знакомая технология упрощает планирование и оценку разработки;
  • политические причины, в частности, большие инвестиции, уже направленные на раскрутку продукта или технологии;
  • уверенность в характеристиках собственного продукта, которые не доступны у других продуктов отрасли.

Следствиями являются:

  • неоптимальное решение (даже если снаружи оно выглядит «красиво»);
  • ненужное усложнение или недопустимое упрощение системы.

Признаки и последствия появления золотого молотка:

  • идентичные инструменты и технологии используются для огромного количества концептуально разнообразных продуктов;
  • решения имеют низкую производительность, масштабируемость и т. д. в сравнении с другими решениями в отрасли;
  • архитектура системы лучше всего описана определённым продуктом, пакетом приложений или комплектом инструментальных средств поставщика;
  • разработчики, обсуждая требования с аналитиками и конечными пользователями, защищают требования, которые можно приспособить с помощью определённых инструментов или увести их от областей, где они не применимы;
  • разработчики становятся изолированными от отрасли. Они демонстрируют отсутствие знаний и опыта работы с альтернативными подходами;
  • существующие продукты диктуют дизайн и архитектуру системы;
  • все новые разработки основываются в большой степени на определённом продукте или технологии поставщика.

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

Способы борьбы с золотым молотком

Способы предотвращения:

  • Анализ наличия альтернативных решений, поиск и сравнение других способов решения поставленной задачи. Например разработчики программного обеспечения должны следить за современными технологическими тенденциями. Это касается как и непосредственно разработчиков ПО, так и управляющего менеджмента. Хорошим способом поддержания обмена знаниями о технических новинках, является практика организации дискуссионных совещаний, на которых будут обсуждаться новые технологии (шаблоны, появляющиеся стандарты, новые продукты).
  • Прототипирование, сравнение различных способов решения поставленной задачи, путём создания прототипов.

Способы идентификации — отсутствие у менеджера сборника решений для различных задач и появление трудностей при возникновении новых проблемных ситуаций, говорит о появлении «золотого молотка» на управленческом уровне. Для выявления молотка на уровне разработчиков следует использовать просмотр кода (англ. Code review) — мониторинг кода в ходе выполнения поставленной задачи и выявление неоптимальных либо часто повторяющихся решений, анализ и сравнение их альтернатив.

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

История термина

Первое упоминание датировано 1964 годом и принадлежит [англ.]:

Я называю это «закон инструмента» ([англ.]): Дайте маленькому мальчику молоток, и он обнаружит, что по всем окружающим предметам просто необходимо стукнуть.

А́брахам Капла́н

Сходная концепция получила название «Молоток Маслоу» по имени Абрахама Харольда Маслоу, который в 1966 году написал:

Я думаю, что если твоим единственным инструментом является молоток, то на что угодно хочется смотреть как на гвоздь.

Английское выражение «a Birmingham screwdriver» («Бирмингемская отвёртка») ссылается на привычку использовать один инструмент для всех целей, и предшествует Каплану и Маслоу. Концепцию также приписывают Марку Твену, хотя нет никаких подтверждений в опубликованных работах Твена.

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

  • Серебряная пуля (англ. silver bullet) — гипотетический универсальный метод в технологии или управленческой технике, увеличивающий на порядок производительность, надёжность и простоту программного проекта. Фредерик Брукс показал, что серебряной пули не существует: никакое технологическое или организационное новшество в принципе не способно радикально снизить имманентную сложность проекта (то есть сложность, обусловленную сложностью самой задачи и другими неустранимыми факторами). «Серебряная пуля» и «золотой молоток» причиняют вред по-разному: если «молоток» приводит к отрицательным последствиям непосредственно, в силу вытеснения им более удачных решений, то «пуля» обычно наносит не прямой, а косвенный вред тем, что на её поиски и попытки применения в итоге затрачивается больше ресурсов, чем она даёт возможность сэкономить.
  • Зависимость от поставщика (англ. vendor lock−in). Разработчики активно получают поддержку поставщика в применении «золотого молотка». Весь проект полагается на подход единственного поставщика инструментов/технологий в разработке и реализации продукта.

См. также

  • Панацея
  • Проблема XY

Примечания

Литература

  • Мирошниченко Е. А. Технологии программирования. — Изд-во Томского политехнического университета, 2008.
  • Bulajic A. Design Patterns Past and Future (англ.) // Proceedings of Informing Science & IT Education Conference (InSITE). — 2011.
  • Smith C. U., Williams L. G. Software Performance AntiPatterns (англ.) // 2nd International Workshop on Software and Performance. — 2000.
  • Maslow A. H. The Psychology of Science. — 1966. — ISBN 0-9760402-3-9.
  • Kaplan A. The Conduct of Inquiry: Methodology for Behavioral Science. — San Francisco: Chandler Publishing Co, 1964. — ISBN 0-7658-0448-4.
  • Green, Jonathon. Dictionary of Slang. — Cassell, 1998. — ISBN 978-0304344352.
  • McQuade T. J. Science and market as adaptive classifying systems // Cognition and Economics / E. Krecké, C. Krecké, R. G. Koppl. — Elsevier, 2007. — P. 77. — 284 p. — ISBN 978-0-7623-1378-5. — ISBN 0-7623-1378-1.
  • Аллен Э. Типичные ошибки проектирования. — Издательский дом «Питер», 2003. — 224 с. — ISBN 5-887827-304-6.
  • Brooks F. No Silver Bullet — Essence and Accidents of Software Engineering.. — ТПУ, 1986.
  • Фримен Э., Фримен Эл. Паттерны проектирования. — Питер, 2011. — 646 с.
  • Brown W. H., Malveau R. C. AntiPatterns. Refactoring Software, Architectures, and Projects in Crisis.. — Robert Ipsen, 1998. — 157 с. — ISBN 0-471-19713-0.
  • Laplante P. A., Neill C. J. Antipatterns: Identification, Refactoring and Management.. — Auerbach Publications, 2005. — 333 с. — ISBN 0-8493-2994-9. (недоступная ссылка)

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Золотой молоток, Что такое Золотой молоток? Что означает Золотой молоток?

Zoloto j moloto k angl Golden hammer antipattern proektirovaniya zaklyuchayushijsya v ispolzovanii odnogo i togo zhe resheniya vezde v tom chisle putyom iskusstvennoj podgonki uslovij trebovanij ogranichenij zadachi pod dannoe reshenie Takzhe izvesten pod nazvaniyami zakon instrumenta angl The law of the instrument molotok Maslou angl Maslow s hammer molotochek angl gavel Mozhet poyavlyatsya kak na upravlencheskom urovne tak i na urovne razrabotchikov sut ot etogo ne menyaetsya Sut antipatternaZolotoj molotok uverennost v polnoj universalnosti kakogo libo resheniya i primenenie etogo resheniya naprimer odnogo iz patternov proektirovaniya v programmirovanii k lyubym zadacham Sklonnost k ispolzovaniyu zolotogo molotka ne zavisit ot opyta specialista Faktory sposobstvuyushie poyavleniyu zolotogo molotka gruppa razrabotchikov stremitsya ispolzovat znakomuyu tehnologiyu gruppa razrabotchikov ne znakoma s drugimi tehnologiyami razrabotki perehod na druguyu tehnologiyu sopryazhyon s opredelyonnym riskom znakomaya tehnologiya uproshaet planirovanie i ocenku razrabotki politicheskie prichiny v chastnosti bolshie investicii uzhe napravlennye na raskrutku produkta ili tehnologii uverennost v harakteristikah sobstvennogo produkta kotorye ne dostupny u drugih produktov otrasli Sledstviyami yavlyayutsya neoptimalnoe reshenie dazhe esli snaruzhi ono vyglyadit krasivo nenuzhnoe uslozhnenie ili nedopustimoe uproshenie sistemy Priznaki i posledstviya poyavleniya zolotogo molotka identichnye instrumenty i tehnologii ispolzuyutsya dlya ogromnogo kolichestva konceptualno raznoobraznyh produktov resheniya imeyut nizkuyu proizvoditelnost masshtabiruemost i t d v sravnenii s drugimi resheniyami v otrasli arhitektura sistemy luchshe vsego opisana opredelyonnym produktom paketom prilozhenij ili komplektom instrumentalnyh sredstv postavshika razrabotchiki obsuzhdaya trebovaniya s analitikami i konechnymi polzovatelyami zashishayut trebovaniya kotorye mozhno prisposobit s pomoshyu opredelyonnyh instrumentov ili uvesti ih ot oblastej gde oni ne primenimy razrabotchiki stanovyatsya izolirovannymi ot otrasli Oni demonstriruyut otsutstvie znanij i opyta raboty s alternativnymi podhodami sushestvuyushie produkty diktuyut dizajn i arhitekturu sistemy vse novye razrabotki osnovyvayutsya v bolshoj stepeni na opredelyonnom produkte ili tehnologii postavshika Primer nekotorye veb kompanii prodolzhayut ispolzovat i podderzhivat samostoyatelno razrabotannye sistemy keshirovaniya nesmotrya na nalichie alternativnyh reshenij s otkrytym kodom Sposoby borby s zolotym molotkomSposoby predotvrasheniya Analiz nalichiya alternativnyh reshenij poisk i sravnenie drugih sposobov resheniya postavlennoj zadachi Naprimer razrabotchiki programmnogo obespecheniya dolzhny sledit za sovremennymi tehnologicheskimi tendenciyami Eto kasaetsya kak i neposredstvenno razrabotchikov PO tak i upravlyayushego menedzhmenta Horoshim sposobom podderzhaniya obmena znaniyami o tehnicheskih novinkah yavlyaetsya praktika organizacii diskussionnyh soveshanij na kotoryh budut obsuzhdatsya novye tehnologii shablony poyavlyayushiesya standarty novye produkty Prototipirovanie sravnenie razlichnyh sposobov resheniya postavlennoj zadachi putyom sozdaniya prototipov Sposoby identifikacii otsutstvie u menedzhera sbornika reshenij dlya razlichnyh zadach i poyavlenie trudnostej pri vozniknovenii novyh problemnyh situacij govorit o poyavlenii zolotogo molotka na upravlencheskom urovne Dlya vyyavleniya molotka na urovne razrabotchikov sleduet ispolzovat prosmotr koda angl Code review monitoring koda v hode vypolneniya postavlennoj zadachi i vyyavlenie neoptimalnyh libo chasto povtoryayushihsya reshenij analiz i sravnenie ih alternativ Sposoby ustraneniya refaktoring pozvolit optimizirovat kod vyborom bolee podhodyashih reshenij i ispravleniem uzhe imeyushihsya Istoriya terminaPervoe upominanie datirovano 1964 godom i prinadlezhit angl Ya nazyvayu eto zakon instrumenta angl Dajte malenkomu malchiku molotok i on obnaruzhit chto po vsem okruzhayushim predmetam prosto neobhodimo stuknut Originalnyj tekst angl I call it the law of the instrument and it may be formulated as follows Give a small boy a hammer and he will find that everything he encounters needs pounding A braham Kapla n Shodnaya koncepciya poluchila nazvanie Molotok Maslou po imeni Abrahama Harolda Maslou kotoryj v 1966 godu napisal Ya dumayu chto esli tvoim edinstvennym instrumentom yavlyaetsya molotok to na chto ugodno hochetsya smotret kak na gvozd Originalnyj tekst angl I suppose it is tempting if the only tool you have is a hammer to treat everything as if it were a nail Anglijskoe vyrazhenie a Birmingham screwdriver Birmingemskaya otvyortka ssylaetsya na privychku ispolzovat odin instrument dlya vseh celej i predshestvuet Kaplanu i Maslou Koncepciyu takzhe pripisyvayut Marku Tvenu hotya net nikakih podtverzhdenij v opublikovannyh rabotah Tvena Svyaz s drugimi patternami i antipatternamiSerebryanaya pulya angl silver bullet gipoteticheskij universalnyj metod v tehnologii ili upravlencheskoj tehnike uvelichivayushij na poryadok proizvoditelnost nadyozhnost i prostotu programmnogo proekta Frederik Bruks pokazal chto serebryanoj puli ne sushestvuet nikakoe tehnologicheskoe ili organizacionnoe novshestvo v principe ne sposobno radikalno snizit immanentnuyu slozhnost proekta to est slozhnost obuslovlennuyu slozhnostyu samoj zadachi i drugimi neustranimymi faktorami Serebryanaya pulya i zolotoj molotok prichinyayut vred po raznomu esli molotok privodit k otricatelnym posledstviyam neposredstvenno v silu vytesneniya im bolee udachnyh reshenij to pulya obychno nanosit ne pryamoj a kosvennyj vred tem chto na eyo poiski i popytki primeneniya v itoge zatrachivaetsya bolshe resursov chem ona dayot vozmozhnost sekonomit Zavisimost ot postavshika angl vendor lock in Razrabotchiki aktivno poluchayut podderzhku postavshika v primenenii zolotogo molotka Ves proekt polagaetsya na podhod edinstvennogo postavshika instrumentov tehnologij v razrabotke i realizacii produkta Sm takzhePanaceya Problema XYPrimechaniyaBulajic A 2011 Laplante 2005 s 71 73 Brown 1998 p 62 63 Frimen E 2011 s 622 623 Laplante 2005 s 73 Kaplan A 1964 pp 28 Maslow A H 1966 pp 15 Green J 1998 McQuade 2007 Brooks F 1986 Brown 1998 p 64 65 LiteraturaMiroshnichenko E A Tehnologii programmirovaniya Izd vo Tomskogo politehnicheskogo universiteta 2008 Bulajic A Design Patterns Past and Future angl Proceedings of Informing Science amp IT Education Conference InSITE 2011 Smith C U Williams L G Software Performance AntiPatterns angl 2nd International Workshop on Software and Performance 2000 Maslow A H The Psychology of Science 1966 ISBN 0 9760402 3 9 Kaplan A The Conduct of Inquiry Methodology for Behavioral Science San Francisco Chandler Publishing Co 1964 ISBN 0 7658 0448 4 Green Jonathon Dictionary of Slang Cassell 1998 ISBN 978 0304344352 McQuade T J Science and market as adaptive classifying systems Cognition and Economics E Krecke C Krecke R G Koppl Elsevier 2007 P 77 284 p ISBN 978 0 7623 1378 5 ISBN 0 7623 1378 1 Allen E Tipichnye oshibki proektirovaniya Izdatelskij dom Piter 2003 224 s ISBN 5 887827 304 6 Brooks F No Silver Bullet Essence and Accidents of Software Engineering TPU 1986 Frimen E Frimen El Patterny proektirovaniya Piter 2011 646 s Brown W H Malveau R C AntiPatterns Refactoring Software Architectures and Projects in Crisis Robert Ipsen 1998 157 s ISBN 0 471 19713 0 Laplante P A Neill C J Antipatterns Identification Refactoring and Management Auerbach Publications 2005 333 s ISBN 0 8493 2994 9 nedostupnaya ssylka

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто