Что на самом деле означает «самоуверенное программное обеспечение»?

24

Я видел, как многие другие разработчики фреймворков / библиотек бросали фразу «мы пишем самоуверенное программное обеспечение», но с практической точки зрения, что это означает? Означает ли это, что автор «Мнения по платформе X» говорит, что, поскольку они пишут код определенным образом, вы должны писать код того же типа, что и они?

Разве это не вычурно?

plaureano
источник
Смотрите этот ответ: stackoverflow.com/questions/802050/what-is-opinionated-software
Никто

Ответы:

28

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

Я не эксперт по Rails, но мне сказали, что он самоуверенный, потому что это круто для простых вещей CRUD, но когда вы пытаетесь отклониться от "пути Rails", все становится сложнее. (Это не обязательно плохо; я не считаю это критикой.)

Фрэнк Шиарар
источник
4
Похоже, неправильное использование слова «самоуверенный» в этом случае. Возможно, «узкий» или «целевой» будет более подходящим. В любом случае, программное обеспечение не может быть буквально самоуверенным ... может быть, в будущем, но не сейчас:p
Никто
10
Да. Это определенно антропоморфный. Но ведь у кода тоже не может быть запаха, но это не мешает нам говорить и о запахах кода!
Фрэнк Шиарар
3
И в обоих случаях «самоуверенный» не означает «так легче сделать это»; это значит «я заставлю тебя страдать, пока ты не сделаешь так». Например, у Хаскелла есть мнение, что он ленив.
Фрэнк Шиарар
3
Я никогда не считал это антропоморфным - я всегда интерпретировал «самоуверенное» как «воплощение мнений автора / сообщества о том, как все должно быть сделано».
Микера
2
Я думаю, что работа «самоуверенная» также должна быть поразительной и острой. В некоторой степени, чтобы заставить вас думать, когда вы используете его, и чтобы разработчики думали, когда они его проектируют. Наличие мнения означает не удовлетворять всех. Таким образом, все аргументы «но как насчет пользователя Y» выходят в окно. Если вы не пользователь X, используйте другое. Не обязательно плохая философия.
Джош Петитт
3

Фреймворк говорит: «Я знаю один верный способ сделать это, и я буду драться с тобой, если ты попробуешь это любым другим способом». Упрямый.

AShelly
источник
0

Вы знаете это выражение: «Есть несколько способов снять кожу с кошки»?

Если один путь значительно проще, чем все остальные, он самоуверенный.

Если все способы требуют примерно одинакового уровня усилий, это не решено.

Заметка:

  • быть самоуверенным - не обязательно сознательное решение
  • с определенной точки зрения, «мнения» могут выглядеть неотличимыми от «просто имеет смысл»
  • мнения облегчают переполнение Google / стека, так как более вероятно, что кто-то еще столкнется с такими же проблемами и найдет решение, которое работает для вас
333kenshin
источник