Паттерны проектирования против фигур речи

Этот пост является продолжением - Поэзия и программирование - Параллели - Часть I

Теперь, для меня «Паттерны дизайна» и «Фигуры речи» похожи, поскольку делают их написание (код и стихотворение) красивым. Они добавляют то, что важно, в код (расширяемость, ремонтопригодность и удобочитаемость) и в стихотворение (ритм, фокус / ударение на словах, связь). Но я чувствую, что они также похожи на то, как люди склонны использовать их, не задумываясь о том, нужны ли они, и ухудшают свой код / ​​стихотворение.

Возьмем пример:

Представьте, что, подобно кнопке «Нравится» в Facebook, вам нужно реализовать кнопку «Хлопок» среднего размера. Поведение кнопки хлопка: вы нажимаете на нее, и количество хлопков увеличивается. Как только счет достигает 50, дальнейшие хлопки не действуют. Итак, вы бы написали что-то вроде этого:

А теперь представьте, видит ли этот фрагмент кода новый разработчик, который недавно узнал о шаблонах проектирования. Он видит, о! здесь есть if-условие принятия решения. На основе clapCount поведение кнопки хлопка меняется. Я могу применить здесь «Шаблон состояния» и изменить его на следующее:

Хотя это все хорошо, но совершенно не нужно. Ранее рабочий код был более читабельным. Мы знали, что не собираемся ничего менять в функции кнопки хлопка. Третьего класса, реализующего из интерфейса clap, никогда не будет. Существующие классы также не имеют логики и больше похожи на пустые классы. Для другого разработчика в команде мы усложнили код. Таким образом, мы сделали его недостижимым.

Рассмотрим аналогичный пример в поэзии:

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

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

Mary, my motherly mate,
You manage me magnificently
You are magical and mellifluous
You mean mountain to me

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

В Интернете есть различные примеры, где вы можете увидеть, как чрезмерное использование аллитерации испортило красивое произведение. Я нашел несколько примеров в jay as jangle, и я не мог удержаться от смеха над некоторыми из них. Посмотрите на этих двух:

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

Один часто слышимый пример -

Питер Пайпер сорвал маринованный перец. кусочек маринованного перца, который сорвал Питер Пайпер. Если Питер Пайпер выбрал кусочек маринованного перца, где же кусок маринованного перца, который выбрал Питер Пайпер?

И вы знаете, почему это «скороговорка», а не стихотворение.

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

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

Лучше сначала записать свои чувства, а затем, если вы увидите, что у нескольких слов есть альтернативные синонимы (которые также не слишком противоположны существующим словам), замените их. Скажем, вы написали для Мэри что-то вроде этого:

Mary I love you
You give me a lot of hope
You gave me support when I was all broke
You cheer me up when I’m unhappy and when I feel suffocated
.
.

а потом ты сделал это

Mary, I love you!
You are the harbinger of hope,
Supporting brick when I was broke,
You gladden me when I'm glum, 
Cheering me when I feel choke
.
.

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

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