Да, бывает забудешь переключиться, и напишешь «удыу» вместо else, но это же сразу видно, а так скорее всего с такими проблемами могут столкнуться любители копипаста
Такие проблемы возникают не только с любителями копипаста. Иногда ошибаешься раскладкой, и если имя переменной/метода/свойства, ключа массива и т.д. начинается с «си», часто по ошибке оставляешь русскую «эс» (или другие кириллические символы, которые похожи на латинские) в имени. Еще этот способ может оказаться полезным тем, кто часто работает с чужим кодом — сразу будет видно, если в коде есть кириллица.
Ну так, читайте внимательней. Если я ошибся раскладкой хотел написать contentString.split("-") и посмотрев на экран увидел что-то вроде сщтеутеЫекштпюыздше(Э-Э), я же естественно сотру все и напишу заново, не буду же я оставлять первую букву знаю, что я набрал ее изначально с ошибкой.
Переменная, может быть всего из одно буквы. А если не пишешь код, а исправляешь, то вообще труба.Это моя самая нелюбимая синтаксическая ошибка. И обычно сложность не в том чтобы её поправить, а в том что-бы догадаться, почему формула считает неверно, и тогда шрифт самый классный вариант.
Ну вы же должны понимать, что раз есть «фе» значит и «эс» у вас заместо «си». Вы же начали писать изначально на неправленой раскладке, глупо предполагать, что только первый символ был введен именно с той раскладки которой вы хотели а остальные не стой, при условии, что вы не меняли раскладку впечатывая одно слово.
Да, если бы люди были идеальными существами, всегда способными мыслить трезво и думать в 10 потоков — так бы оно и было. На практике: увидел ты «фе» — думаешь, надо исправить — а параллельно думаешь о том алгоритме, который пишешь. И еще о двух следущих. А в этот момент кто-то в скайп звонит и еще коллега пришел — зовет покурить… И вот ты исправляешь только «фе», потому что бекганд-парсер кода в мозгу пропустил «с» как вроде-бы подходящий символ.
1. Если вижу ошибку в слове всегда перепечатываю его целиком ( привычка как-то сама собой пришла)
2. Когда серьезно занят всякие IM, почтовики и прочие отвлекалки отключаю
3. Коллеги на меня злятся когда на призыв курить/чай/кофе/Kinekt отвечаю машинально «ага иду» и продолжаю работать. А через полчаса-час говорю ну что идем или нет?
Винда очень медленно переключает раскладки (да еще и через раз), поэтому пока вы нажали ctrl-shift доли секунды остается старая раскладка. За это время вбить С успеваешь легко, а поскольку через мгновение после этого раскладка корректно переключается, все последующие символы идут английскими — и ошибки незаметно. Не раз сталкивался с этим.
подтверждаю, у меня очень часто такое
возможно я слишком быстро начинаю писать после переключения
а может потмоу что моя не родная для винды (стороння прога) переключалка тормозит: у меня на капс лок переключение стоит
У меня нет сторонних переключалок и переключение стоит на Ctrl+Shift, но симптомы те же. Так что дело не в переключалках.
Набираю быстро и иногда забавно наблюдать: переключил раскладку, начинаешь набирать и видишь, как первые 1-3 символа выходят в старой раскладке, а остальные — уже в новой. :)
Хочу уточнить — не в имени переменной, а в ключе массива. По сути вопроса — для меня самого это до сих пор загадка. Но факт остается фактом — я провозился с собственноручно написанным кодом (рабочим, нужно было только заменить эту букву) лишние два часа.
У меня как-то было: опечатался в имени переменной, а потом через время увидел, что вместо какой-то буквы нужно поставить «с». Поставил, не заметив, что раскладка была русская, потом долго искал ошибку.
На мой взгляд, вообще нужно запретить в исходном коде любые символы, кроме латиницы.
Большинство сред разработки всё равно замечает, что переменной с таким именем нет. С другой стороны, ограничение на язык ввода не защитит от ошибок в строковых константах.
На что только не пойдет, порой, программист лишь бы не пользоваться нормальными IDE/Редакторами…
Субля, например, выделяет другим цветом зарезервированное слово или название переменной, в которых есть кириллица.
phpStorm подчеркивает красным, и выделяет фоном.
Слезайте со своего нотпада++ =)
Если вы работаете php программистом — это прекрасно! Я вам даже чутка завидую. Однако для некоторых это лишь хобби — и ради него приобретать платные продукты готов не каждый.
Кто не хочет покупать может пользовать PhpStorm EAP. А чтобы совесть была спокойна еще и баг-репорты строчить.И все будут довольны — пользователь получает достойный продукт на шару, разработчик имеет фидбэк. собственно для того они EAPы и публикуют.
Я отказался от EAP. Во первых иногда период заканчивается, а нового билда нет.
Еще были проблемы с часами, так IDE подумала что я ее надуть пытаюсь и работала по пол часа и вырубалась, надо было срочно что-то делать, поставил пиратку, ну а дальше сами понимаете, не настолько я богат чтобы на домашние опенсорс и не очень проекты тратить $100. Хотя некоторых приятных фич в Netbeans не хватает, ну нравиться мне текстовый редактор PHPStorm хоть убей.
"найти такой шрифт, в котором кириллица будет отличаться от латиницы, и задать его для служебных слов, переменных и некоторых других проблемных категорий."(с) Вы же понимаете, что сами данные не реально проверить алгоритмами, поэтому стараетесь нас на этом подловить. В данных (коими ключи являются в Пыхе) могут быть любые символы, и тут вы сами не будете использовать ваш метод со шрифтами. Хотя не буду оспаривать, он силён, и я подобным способом порой проверяю текстовые данные, пришедшие от сторонних систем. Любят они вместо «о» втиснуть русскую или вообще ноль.
Проверяет, даже отдельные слова в camelCase ключах проверяет на грамотность. Это очень удобно и полезно (дёргался глаз когда нибудь, встречая слова «metod» или «mounth» в коде?). Правда почему-то этот спелчекер проверяет строки не всегда, но тем не менее. Я не понимаю, что удерживает людей от установки полноценной IDE вроде Eclipse с PDT или Aptana. Ведь IDE, а не программист, должна заниматься рутинной работой вроде поиска опечаток, глобального переименования идентификатора и прочих, не говоря уж об отладке.
После перехода на специализированный IDE с автокомплитом, спелчекером, инспектором и прочими плюшками — проблема отпала сама собой. До этого, несколько раз сталкивался с подобным. Считаю крайне неудобно программировать в разных расскладках (имею ввиду комменты по русски). Взял за правило, кодить только на английском.
Сложноватый у вас Regex вышел, потому что вы работаете с символом\буквой как с окончательным объектом.
А «символ» это всего лишь изображение, картинка для «слабых хьюманов» :). Изображение это задается числовым значением в таблице символов. Ничего не мешает поискать сами символы по диапазону их числовых значений, например вот таким регэкспом:
[^\x00-\x7e]
А шрифт — имхо странная идея. Вы комментарии на русском или другом языке читать не планируете?
Да, если это зарезервированное слово или встроенная функция. И нет, если это что-то другое, как, например, имя переменной, свойства, функции, метода или строка.
Notepad++. Кириллические символы, ошибочно попавшие в код — решение проблемы