Caramba Switcher. Исключения

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

Глава 1
Неубиваемые

Caramba Switcher. Исключения

В 2002 году мы в Punto Switcher'e сделали простой механизм, с помощью которого пользователь мог вносить в исключения любую букву, комбинацию букв или слово. Обычный список и поле ввода.

Если человек не разрабатывает что-то специальное лингвистическое он просто работает на максимальной скорости. Ошибается, исправляет, затем исправляет исправленное, меняет окончания в словах исправляет строчные в заглавные и т.д. Вот ему в какое-то очень срочное мгновение понадобилось чтобы в латинская "r" не переключалась в "к". В результате буква быстро, в рабочем угаре, внесена в исключения. Тут же простые слова: как, кто, какой, кем, переставали переключаться в русский: rfr? rnj? rfrjq? rtv?. Поскольку на букву "r" был наложен запрет — пользователь не разобрался с этими самыми "содержит", "начинается с" и прочим.

Тут же посыпались письма: "Ваша программа вдруг перестала работать!" или же: "Через неделю снес нафиг глючное поделие". В результате кажется, что в то время с нами оставались те пользователи, которые не лазили в настройки.

Так как убирать функцию после её добавления нельзя, то пришлось сделать у, к, в, а, о, я, с, и (а также некоторые другие сочетания) "неубиваемыми" и "невносимыми". Ну и в английском таким правилом стало заглавное I, которое не превращалось в Ш (тогда как строчная i в ш переключалась). Так появилась концепция "неубиваемости" некоторых правил.

Продолжение следует...

Начать дискуссию