×Закрыть

Логика компромисса? (точка зрения программиста)

Сегодняшняя практическая задача.

Столовая офиса. Два стола. На каждом две стандартных баночки с солью и перцем. Дырки в крышках образуют буквы S или P.
На первом столе на обеих баночках буква S.
На втором столе на обеих баночках буква P.

Предполагаем, что исправлять до идеала (чтобы всё везде соответствовало содержимому) слишком дорого (мыть, сушить баночки и т.д., даже если мыть только крышки).
Можно оставить так, как есть — S, S на одном и P, P на другом.
Можно переставить, так, что на одном будет S на соли и P на перце, на другом — наоборот, P на соли и S на перце.

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

LinkedIn

Лучшие комментарии пропустить

Йа всегда оптимизирую worst case, ибо нефиг.

Если кто-то хочет соли, и получит соль — он будет очень веселым.
Если кто-то хочет соли, и получит перец — он будет очень грустным.

Как мы можем это исправить?

Вариант первый:
Убрать все баночки со столов. В итоге, никакой проблемы нет. Люди будут немного недовольны, но все одинаково недовольны (ПРОФИТ!!!)

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

Кроме того:

* Если вы работаете в Amazon — пойдите и проверьте все баночки и исправьте косяки.

* Если вы работаете в Google, наймите PhD в области кулинарии и заставьте его пройти и проверить все баночки, и исправить косяки.

* Если вы работаете в Apple — замените все крышечки на крышечки с логотипом Apple, посетители будут ими пользоваться вне зависимости то того, что внутри.

* Если вы работаете в Oracle, можете не беспокоиться — ваше лицензионное соглашение обязывает посетителей пользоваться этими баночками вне зависимости от того что внутри, а в случае отказа — платить штраф.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Так как условие вашей задачи и предложенное решение вызовут различного рода тихие конфликтные вопросы и приведут к бунту через 2 недели предлагаю кардинальное решение. На каждом столе на одной баночке откручиваете крышечку так чтобы она отвалилась при переворачивании, во вторую баночку капаете 3 капли воды. «..б твою мать» и «е-мое» баночки разрядят обстановку, и содержимое сосудов потеряет значение.

1. Провести кампанію «сіль — біла смерть!»
2. Провести кампанію «перець — сіра смерть!»
3. Прибрати всі баночки зі столів
4. PROFIT

если всё работает — ничего не трогать

обозначения «P» и «S» — это типа джавадоков, кто их читает?

Какой из двух вариантов вы персонально выберете, как программист

Программисту следует знать выражение «ложная дилемма».

Для начала надо доказать её ложность.

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

Если нет бюджета на пересыпание специй в правильные баночки, то как вариант — убрать «неправильную» пару баночек совсем.
Пусть будет одна правильная, и пусть ею пользуются оба стола.

я би викинув баночки: бо
1 що це за люди, які їду собі не солять, коли готують?
2 з тими баночками мороки більше ніж без них

Радикально...
Это тоже вариант подхода Apple?

та хз, еппл чи не еппл. той факт, що у солонки та перечниці однаковий інтерфейс — явна ознака оверінженірінгу (який чомусь норовить трапитися саме з такими, простими речами). в такому разі або викидувать, або лишати як вже є, коли без солі і перцю ну ніяк, а на канонічні глиняний горщик із сіллю і млинок з перцем нема ресурсу.

Оставить как есть. ЮИ чуток кривоват, но это не проблема бекэнда.

Мой вариант — ничего не трогать, ничего не менять, пусть юзера сами ипутцо. Один хер никто надписи на баночках не читает.

Но это правильный ответ. А если тебе для сферических кобыл в вакууме — так ставь корректно условие: что ЕСТЬ, чего ты ХОЧЕШЬ, что надо МИНИМИЗИРОВАТЬ, если параметров несколько — как связаны меж собой (стоимость операции и тому подобное).

Ответ из подобной задачи, которую решал прямо сегодня: убрать баночки, кому надо возьмёт на прилавке.

Так як
— описаний вами функціонал є взагалі не критичний, не впливатиме на час обіду(фактичного прийому їжі)
— дуже мало впливатиме на якість самої їжі, яка по дефолту має бути хоча б мінімально поперчена і посолена
— скоріше за все, є вже існуючі і реальні юзери які звикли до такого стану речей і не проти, якщо нічого не змінилось до цього моменту
— Юзер якому справді цікаво саме посолити або поперчити, скоріше за все, зверне увагу на рештки солі або перцю на кришці баночки, які там полюбому лишились, якщо баночкою користувались хоча б раз.
— Якщо баночки прозорі, задачі не актуальна взагалі

З огляду на ці пункти я б не рухав нічого і лишив як є і не займався надлишковою оптимізацією, особливо зважаючи, що існує workaround у вигляді розрізнення боночок по слідам солі або перцю на кришці.
Якщо описані аргументи вище не прийнятні для вашої ситуації, я б звернувся до працівника, який відповідальний за поповнення вмісту солонок та перечниць, описав би йому ситуацію і попросив виправити, бо, по-перше, ви можете бути не достатньо кваліфікованим для такої роботи( у вас можуть трястись руки або ви можете зламати баночки в процесі роботи ), а по-друге, відповідальна людина вам зможе обґрунтувати необхідність саме такого розміщення кришечок, можливо, на цьому тримається якийсь більш глобальний і важливий функціонал, а ви своєю надлишковою ініціативою можете зламати роботу всієї столовки і залишити фірму без обіду.

Как SRE я бы установил SLO/error budget и пока кол-во негодующих не превышает кол-во довольных + нейтральных, можем считать, что проблемы нет.

Йа всегда оптимизирую worst case, ибо нефиг.

Если кто-то хочет соли, и получит соль — он будет очень веселым.
Если кто-то хочет соли, и получит перец — он будет очень грустным.

Как мы можем это исправить?

Вариант первый:
Убрать все баночки со столов. В итоге, никакой проблемы нет. Люди будут немного недовольны, но все одинаково недовольны (ПРОФИТ!!!)

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

Кроме того:

* Если вы работаете в Amazon — пойдите и проверьте все баночки и исправьте косяки.

* Если вы работаете в Google, наймите PhD в области кулинарии и заставьте его пройти и проверить все баночки, и исправить косяки.

* Если вы работаете в Apple — замените все крышечки на крышечки с логотипом Apple, посетители будут ими пользоваться вне зависимости то того, что внутри.

* Если вы работаете в Oracle, можете не беспокоиться — ваше лицензионное соглашение обязывает посетителей пользоваться этими баночками вне зависимости от того что внутри, а в случае отказа — платить штраф.

* Если вы работаете в Microsoft, пусть ваши баночки ко всеобщему бардаку однажды утром перестанут открываться и превратятся в брусочки.

* Если вы работаете в Uber, снабдите столы таблом с временем ожидания всего заказа. Пусть цифры только растут. А когда клиенту надоест ждать и он будет уходить, персонал спросит: «Так быстро уходите? Мы уже почти приготовили вашу еду».

* Если вы работаете в «Роскриптобукмекер», то объясните сотрудникам, что содержимое баночек намеренно смешано, легко сыпется и не только в столовой. При налёте масок-шоу с обыском можно сыпануть в глаза схватившему вас и попробовать удрать с ноутбуком.

С точки зрения отечественного общепита, описанные ТС два способа могут удовлетворить отечественного же потребителя, но если проводить аналогии с программированием и подумать ширшее, глубже и out-of-box, то вааще-то можно предложить два «безбажных» варианта:
1. Организовать мексиканскую ничью: выбросить нах весь перец и соль, а особо вредным и скандальным клиентам обЪяснять, что «шеф-повар не соль с перцем, а всю свою душу в эти блюда вкладывает!»
2. Выбросить только «неправильную» соль на первом столике и «неправильный» перец на втором. Клиенты, кому надо, пусть развивают свои коммуникативные способности.

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

Это если из жизни. Если из экзотики, сдвинуть два стола вместе. Перепутанные баночки выкинуть, оставить только тру S и P

Кстате если сами крышки на баночках откручиваются, открутить на обоих и поменять сами крышки местами.

Я как тру программист даже во время обеда думаю о коде или об архитектуре проекта,
поэтому не обращаю внимания на какие-то там баночки на столе.

залежить від Ваших вподобань:
* капіталізм — переставити і брати додаткову плату за «правильний» столик;
* комунізм — залишити як є, хай всім однаково фігово буде;
* бюрократія — переставити, щоб на одному було 2 солі, а на іншому 2 перці. формально і там і там є S і P, але доводиться бігати до всіх столиків.

Назви варіантів сумнівні, але третій варіант дуже сподобався. ;) І не думав про таке.
У скарбничку.

Ну если я всегда за одним столом сижу — сделать себе нормально (S на соли и P на перце), а другие пусть мучаются 😁

С точки зрения UX из этих двух вариантов правильный — помыть баночки/крышки и сделать нормально. Или хотя бы бумажки большие наклеить на неправильные баночки с надписью «СОЛЬ», «ПЕРЕЦ»

Опять же с точки зрения UX, если компания аж настолько нищая что не может баночки помыть/поменять и даже бумажки наклеить — оставить как есть. Потому что если буквы на обоих баночках одинаковые — пользователь может задумается и обратит внимание на содержимое (мы же предполагаем что его можно увидеть?), а так на втором столе все время будут не то использовать

Взяти з собою серветку, на лівий бік насипати з ближньої(суб’єктивно) місткості, а з правого — з дальньої і вже з серветки брати потрібні спеції. Я думаю, в такому випадку мало хто помилиться. До того ж, підвищена витрата солі і перцю може змусити завідуючого їдальнею правильно чіпляти ковпачки.
;-)

Мне кажется второй вариант в любом случае лучше.
— В случае S-S и P-P мы имеем 50% вероятность ошибки. При этом при каждой попытке.
— В случае 2 варианта мы имеем один полностью правильный столик и 100% вероятность ошибки только на первой попытке.
Даже если не рассматривать повторные попытки или считать что пользователи — склеротики то один рабой столик лучше чем ни одного.
Дополнительный плюс в том, что мы четко локализуем проблему: вместо 50% ошибок на 2х столах мы имеем четко повторяемую проблему на одном столе и рабочий пример на другом столе.
Т.е. мы знаем где проблема, знаем как должно быть и имеем мотивацию для ее решения (постоянные жалобы). В этом случае больше шансов что будет принято решение исправить проблему, чем если бы она была менее очевидной.
Опять же с точки зрения начальника: сотрудник который оставил все как есть — не сделал ничего. Сотрудник, который починил один из 2х столов и четко объяснил что надо что бы починить другой (пускай это сложно и дорого) — сделал полезное дело!

2-ой, хоть на 1 столе будет по нормальному. Главное потом запомнить какой именно стол нормальный. Это же лучше чем лотерея на обоих столах.
Если по условиям и запомнить нельзя — то пофик, 50\50 же

Взяти маркер, і написати реальний вміст )

Зависит от того какой бюджет на правки, и было ли в спецификации сказано как должно было быть. Если было указано то надо делать инвестигейт, как так получилось и кто виноват (потратить 1-2 оплачиваемых дня). Если не было, то оформлять как фичу. После этого дать грубый эстимейт с оценкой в часах (и деньгах) на исправление, предложив несколько вариантов... Ну и ждать конфёрм от клиента...

ps: скорей всего таск никогда не получит приоритет выше минорного, а значит в ближайшем будущем фиксить его не будут все равно.

поскольку я с++ ник, то поставил бы ссылку на второй столик
во первых — экономия ресурсов
во вторых — я знаю, что такое ссылка

Ссылка на второй столик, а что на нём? Перепутанный порядок?

на нужную баночку на втором столике я имел ввиду

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

это не програмист, это человек с одессы

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

В первом варианте невозможно обучить обедающих, т.к. невозможно сказать после первой пробы: «если хотите соль/перец берите S/P». Во втором варианте первому столу обучение не требуется, а второму достаточно одной неправильной попытки.

Если завтра обучаемые поменяются столами?

По условию начальные параметры привязываются к столу, т.е. для конкретного стола стратегия не меняется. Для первого всегда «хотим соль, берем S». Для второго всегда «минимум одно тестирование». Кто бы ни использовал эти стратегии, он будет знать, какая именно это стратегия (основанная на маркировке емкостей).
UPD. Вернее, даже не так. В єтом варианте достаточно ввести одно условие для «обедающих»: если вы взяли S и там — соль, то все хорошо. Иначе — берите P.
В других вариантах расстановки банок я не вижу алгоритма, предполагающего использование только одного известного параметра «маркировка» без привлечения «первая банка», «правая банка» и т.д.

Для этого нужно, чтобы столы были тоже промаркированы. А этого в условии нет

Чесно кажучи якась мудацька задача і в мене від того підгорає.

Чому не можна пересипати шо куди треба? Чому не можна взяти інші баночки? Чому явно не прописано чи прозорі баночки чи ні? Чому не можна замінити кришечки? Чому не можна видавати сіль та перець на касі? Без зрозумілих відповідей на ці запитання мотивації вирішувати задачу та вгадувати які в нас є ще обмеження — немає жодного бажання, хіба що флуду заради. Але це тупо.

Задача має мати нормальні рамки а не «збудуйте будинок з гівна та палок а не з залізобетона бо залізобетон ми вам не дамо тому що просто нам захотілося ускладнити умови задачі, і ми хочемо подивитися як ви думаєте, але ми не придумали нічого кращого ніж ввести у умову задачі абсурдні обмеження».

Коли мені на одній із співбесід по дизайну запропонували обрати собі проект і його «задизайнити» маючи наувазі щось хайлоадне, на мій розсуд (так і сказали, беріть проект, який хочете), я сказав що на свій розсуд я буду дизайнити сайт Hacker News який зроблений на LAMP і крутиться на одному-єдиному сервері.

Нагадує мені дебільні апокрифічні питання на співбесідах у фаанги (типу скільки треба тюнерів піаніно у нью-йорку).

Носить с собой перечницу и солонку с соотвествующим содержимым, епта! И самому все контролировать.

Вообще бы ничего не трогал. Если баночки прозрачные (а в моей вселенной стандартные банки прозрачные) то по ним и так видно что в них и что там за буква сверху меня мало волнует.

Просто поменять крышечки уже предлагали? Не пересыпая содержимое банок?

Варианты соль-соль (SP) и перец-перец (PS) отбрасываем, так как при должном невезении клиент не сможет ни посолить, ни поперчить блюдо в принципе. Два оставшихся варианта — соль-перец и перец-соль безоговорочно удовлетворяют тех, кто решил и поперчить, и посолить свою трапезу. Проблема только в тех, кто предпочитает или соль, или перец.

Если мы поместим на оба стола емкости с неправильной маркировкой, то вероятность ошибиться составит 0.5 для любого посетителя из числа тех, кто предпочитает только соль, или только перец. Считаем, как вероятность выбрать неправильный стол (1, так на обоих столах емкости перепутаны), помноженная на вероятность ошибиться с емкостью.

Если же мы поместим на один из столов емкости с правильной маркировкой, то вероятность ошибки составит 0.25. Следовательно, лучший вариант

Можно переставить, так, что на одном будет S на соли и P на перце, на другом — наоборот, P на соли и S на перце.

О! Было два аргументированных голоса за вариант 1, а тут есть за вариант 2.
А как вы считали? По-моему, вероятность ошибки всё равно 0.5:
* стол 1, хочет соль, получает соль
* стол 1, хочет перец, получает перец
* стол 2, хочет соль, получает перец
* стол 2, хочет перец, получает соль
правильно в половине случаев, неправильно тоже в половине.

Считал простым перемножением вероятностей. Если разложить на случаи, получится так (надо считать вероятность ошибки или удачного исхода, а не конкретные соль или перец).

* не прогадал с выбором стола и получил что хотел с первого раза (0.5)
* прогадал с выбором стола и получил, что хотел с первого раза (0.25)
* прогадал с выбором стола и не получил что хотел с первого раза (0.25)

Из всего перечисленного только последний вариант является нежелательным. Можно нарисовать простой граф для наглядности там видны все пути и легко понять, как работает перемножение. Только имейте в виду, что вероятность выбора нужной емкости за «удачным столом» равна единице (и там два таких исхода).

нужно поставить новые (визуально не похожие на старые) баночки (1) с содержанием соответсвующим меткам (2)

1 решит проблему людей что знали про багу и обходили
2 решит проблему новых

ничего мыть не нужно
и затраты мизерны для среднестатистического читателя доу

Я бы вааще не ходил в такую столовую, пусть там хавает тот, кто баночки выставляет.

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

Наконец, если говорить о реальных столовых, то если даже емкость для перца непрозрачная (кстате о птичках), то на ней практически всегда есть следы перца.

Я бы вааще не ходил в такую столовую, пусть там хавает тот, кто баночки выставляет.

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

ну да, все идеально, только соль с перцем не в туда :((
см. : «если ... больше ходить некуда...», и далее по тексту. В реале я попытаюсь приспособиться с минимальными для себя затратами, а вариантов много: прозрачные баночки, следы от перца на одной из них, запах перца, затычки внизу баночек, которые можно вытянуть и рассмотреть что внутри :) и пр. Однако существенно то, что я пользуюсь как правило и солью, и перцем, потому мне проще всего потрусить обе баночки, пох в каком порядке.

Ну вот, столько контрольных и защитных методов, а всё равно можно сыпать что угодно... ¯\_(ツ)_/¯

от не нада, про «что угодно» в постановке задачи не было :) хотя если бы я НЕ пользовался ни солью ни перцем, то и это бы поканало :)

Якщо вони не можуть вслідкувати, що у них в солонках, хз що там на кухні.

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

При разработке постоянно так делают.

Никто читать не будет.

Это же уже не его проблемы.

Сейчас, если юзер не читает инструкцию, это всё равно проблема изготовителя.

Есть проблема и есть солюшен, вперд лабать фичи которые приносят прибыль! Рефакторить потому будем, когда денег дадут.

А рефакторингом можно превратить соль в перец не вынимая из баночки?

«Рефачить» значить помыть крышки и прикрутить там где они должны быть и не ипать осла в сферическом вакууме делая при этом финты ушами.
Откуда эта страсть делать через одно место?
Если там написано соль то там и должна быть соль. Баста!

Ну так на банке было написано P. Вот я и спрашиваю — рефакторинг поможет?

Вы будете использовать такой же подход в областях, критичных к безопасности, как медицина?
Или питание недостаточно критично?

Это был более сарказм и отсылка на подходы при разработке, когда вместо того чтобы взять и решить проблему, в вашем примере, взять и помыть эти крышечки, ищут полумеры тратя них больше времени чем на мытье крышечек\решение проблемы.

Поистине, соль не есть не-соль, а не-соль не есть соль. Итак, не про соль сказать, что это соль, — всё равно что про соль сказать, что это не соль. Говоря коротко, про не-соль — соль, или соль — про не-соль.

А вот и легкочитаемый текст соглашения! Можешь листов так на 80? :-)

Соль, насыпанная в баночку с буквой S, не есть истинная соль.
А если с буквой P?

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

А ваши оба варианты содержат в себе констекст, смотря какой стол и прочее.

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

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

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

Чтобы достоверно знать, что в баночках они должны быть прозрачными или высыпать чуть из каждой на стол. Предполагаю что там сахара вместо соли не насыпали. Но в этом случае желательно пробовать, что в каждой. Есть, конечно риск, отравиться, если там яд, но под УК редкие люди хотят попадать.

Одно дело когда человек сам совершает ошибку, а другое дело когда устройство имеет не очевидный интерфес и еще больше добавляет вероятность ошибки.
И

есть человек, который насыпает в баночки и он гарантировано допустит ошибку

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

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

Наклейка ещё менее очевидна: она сбоку, а насыпают содержимое обычно стоя над столом.

Почему тогда содержимое, бренд и прочее лепят на бок, а не на крышечку?

Что бы в магазинах хорошо смотрелось.

У рамках боротьби з OCD я, як ваш програміст, рекомендую розслабитись, замовити винця або пивка, може піцци або суші. Про цю «проблему» краще забути взагалі, скиньте її на офіс менеджера, якщо вже зовсім пече.

Встановлюєте діагноз навіть без фото? Поділіться секретом методу, будь ласка.

Та розслабьтесь вже, це просто профілактика, зайвою не буде!

Если же это кривая попытка проекции на идеальный код, то он не существует.

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

Можешь считать, что это попытка проекции на случай противоречивых требований.

Тогда только согласование требований с заказчиком и никак более. Делать взаимнопротиворечивое глупо. Потратишь время, ничего не сделаешь и еще отгребешь за это.
Часто бывают не столько противоречивые требования, сколько недопонимание обеими сторонами чего они хотят и что сделать. А решается оное только одним путем — обсуждением и фиксацией одинаково понимаемой части обеими сторонами.

Если одна из сторон упирается в своей глупости рогом, то она посылается лесом.
Когда-то так и отказался от заказа. Заказчики хотели невозможное (в конкурентах был их собственный отдел). Я отказался — пусть сами развлекаются в своей глупости.

Столовая офиса

Работники в большинстве знают английский?

Не «в большинстве», а поголовно. Специфика-с.

Ну тогда пробить дырки, что.бы везде одинаково было.

Пробить как именно?

Прошу уточнения.
На крышках должно быть написано «C++»?

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

Щось я недосоленої/недоперченої їжі в тій столовій не бачив...

Ви були в нашій столовій?

Та нє. Але коли почав читати, не покидало відчуття, що переді мною чергова інтерпретація задачки про виделку, два стільці, оце от все, ну знаєте... )

Може, колись і буде :) Зараз це просто слід того, що відбулось в реальності.

А ще можна просто зняти кришки

А банки прозорі?

Так, вміст легко бачити.
Але пропоную розглянути обидва варіанти — прозорі і непрозорі.

Если содержимое легко видно, то надписи вряд ли читать будут. Так что задача для непрозрачных. Тем более, разумно оставить как есть что б клиент задумался перед применением и отнесся внимательно. Т.е. на одном столе SS на другом PP

А можна наклеїти на банки стікери з великими буквами «ПЕРЕЦЬ» та «СІЛЬ»?

А в баночки насыпать яда в виде кристалликов.

Якщо на стікері «Сіль», а на кришці — P, чому саме вірити?

Стікерам звісно. Я на кришки ніколи не дивлюся наприклад, бо їх часто плутають.

В таком случае просто смотришь и пробуешь на вкус что там, ибо в таких случая там может быть тупо сода или мука.

и пробуешь на вкус

А раптом там першокласний кокаїн. Може спочатку носом дунуть, ну або на крайній випадок, у ясна трохи втерти?

Дунуть можно потом, после того как поймешь что там

першокласний кокаїн

а еще лучше, забрать солонку домой и только потому уже дуть :-)

Написать на стикере «Крышка п**дит»

А меня бы бомбило немного от такой ситуации, и оба варианта не помогли бы. Немножко перфекционист.
Из двух вариантов выбрал бы 1й. Увидев 2 баночки с S, к примеру, я бы первым делом предположил что в одной соль, во второй перец, и учитывая что они одинаковые — «присмотрелся» и определил, где что.
По 2му варианту: увидел бы буквы и доверился, получился бы фейл.
В итоге в первом варианте я сыплю себе перец, как и хотел, во втором варианте большая вероятность, что посолю вместо перца.

Смотрела бы на статистику. Если из 10 посетителей кафе только один пришел и спросил, почему так, то можно ничего не менять. Можно также посмотреть, какой стол пользуется большей популярностью и сделать там S и P как положено, а второй так и быть, пусть страдает.

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

Влажности нет, дырочки открыты :)

Всё одно сниму крышки. Если их не снять, сыпану на стол одного и другого, чтобы убедится, что там таки соль и перец и где.

Предположим, банки прозрачные. Всё равно будешь высыпать?

Тогда пофиг, какие там буковки. Но через дырочки редко когда что-то сыпется.

Хм... в Минске настолько выше влажность?
Я думал, это проблема Киева с его «морем».

Это почти везде в мире с этими баночками так. Соль и перец с большим удовольствием впитывают влагу из воздуха, как и сахар.
Поставь рядом с мешком сахара ведро воды на ночь. За ночь он впитает почти всю эту воду.
Это классика из 90-х перепродажи сахара россыпью в розницу.

Про сахар знаю.
Но вот что-то соль в баночках подозрительно сухая уже больше месяца :)

Значит там много противослеживающей добавки

Я бы оставил как есть. Человек перед тем как пользоваться увидев одинаковые крышки присмотрится внимательно и выберет желаемое по содержимому, а не по крышке.

2 крышки перекрутить и все.

Не подходит: крышки мыть надо, см. исходные.
(На практике так и сделано, но интересна позиция для сложного случая.)

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

мыть не надо, достаточно протереть сухой и чистой тряпкой(подход «good enough»)

Где такое найти на офисной кухне?

Какой из двух вариантов вы персонально выберете, как программист?
Можно оставить так, как есть — S, S на одном и P, P на другом.
и почему?

Потому что

слишком дорого мыть, сушить баночки и т.д.

P.S. Сегодня ж вроде не пятница и даже не четверг....

Среда — маленькая пятница!

Спасибо за ответ, но непонятно, почему не переставить? Для этого не надо мыть и сушить.

но непонятно, почему не переставить?

а зачем?

Чтобы на одном из столов был полный порядок, не?

А на каком из них непорядок? там где S или там где P?)

Ты рассматриваешь ситуацию объективно или субъективно?

Ну мой подход в целом отразили комментарии от Viktor Chyzhdzenka и Михаил Кузьмин.

З.Ы. Хотя человеку, который перепутал крышечки можно сделать выговор — пусть он за свой счет моет и сушит баночки и впредь не путает, что в какую баночку сыпать. :-)

Подписаться на комментарии