Перечитывая “Джедайские техники”, я наткнулся на великолепнейшее, крайне содержательное отношение ув. Максима Дорофеева к аббревиатурам - полное презрение.
STAR, RACI, ACID, SOLID, DRY, KISS, YAGNI - кто больше? Тысячи их.
В самих аббревиатурах нет ничего плохого. Плохо то, что когда у тебя в руках молоток - всё вокруг начинает казаться гвоздями. Так же и с аббревиатурами, выполняющими роль молотка в не слишком умелых руках не слишком вдумчивого человека.
Узнал человек какую-то аббревиатуру - и давай везде и всюду её применять. Прям становится амбассадором этих буковок. Максим Дорофеев очень чётко охарактеризовал это как “Жизненный опыт, Передаваемый Аббревиатурами”.
Основная проблема с аббревиатурами (на мой вкус) - они как бы отключают необходимость думать. “Смотри, я - готовое решение, тебе больше не нужно напрягать мозги и думать, за тебя уже всё подумали”. Но не думать - это как раз самый страшный грех (по версии Максима Дорофеева, я с ним полностью согласен).
Вторая проблема - аббревиатуры частенько смазаны некоторым слоем маркетинга, чтобы быть покрасивее и попривлекательнее для потенциального потребителя. И ладно бы вопросы были только к привлекательности (последняя S в KISS явно для красоты добавлена). Но иногда вопросы в большом количестве возникают и к самому наполнению аббревиатуры.
Например, всеми любимая модель RACI описывает сферических коней в вакууме. В реальном проекте роли переплетаются так, что концов не сыщешь.
Или моё любимое - свойства ACID. Буква C добавлена для красоты (об этом я писал и в обзоре «Высоконагруженных приложений»). Просто “кислота” (acid) звучит явно круче, чем “помогать” (aid). И пофиг, что БД может обеспечить консистентность только на уровне ограничений - так же красивее звучит.
Аббревиатуры не бесполезны. В них довольно часто заложена какая-то идея (временами даже очень полезная). Однако помните про несовершенство обобщений и будьте аккуратны с молотками.