Похоже, каждая профессия приносит своим представителям всевозможные привычки.
Программирование принесло программистам много вредных привычек и продолжает добавлять всё новые вредные привычки каждый день. Конечно, некоторые привычки не имеют отношения к программированию. Хотя программисты тоже хотели бы избавиться от перечисленных ниже привычек, они глубоко укоренились.
Объяснять размер чего-либо в пикселях и цветах в шестнадцатеричном коде; обнаруживать полиморфизм, наследование и паттерны во всём под небом и на земле;
Использование абстрактных терминов, связанных с кодом, в повседневной беседе.
0. Программисты начинают считать с 0.
Пример: когда программисты ссорятся, они могут сказать: «Я досчитаю до трёх. Если ты не замолчишь, я не буду церемониться! Ноль! Один! Два!» Или, составляя список, они нумеруют его начиная с 0.
Причина: массив
Комментарий: формирование этой привычки было трудным процессом. Бесчисленные ошибки выхода за границы и ошибки в подсчёте итераций циклов накрепко вбили в нас привычку начинать с 0.
1. Программисты отвечают на альтернативные вопросы утвердительно или отрицательно.
Пример: на вопрос «Хотите кофе или чай?» программист отвечает: «Угу».
Причина: когда одна часть условия или || истинна, всё выражение истинно.
Комментарий: Эта привычка немного утрирована, но это действительно распространённый недостаток мышления программистов: применять компьютерную логику обработки к человеческим проблемам. Конечно, этот ответ явно является программной ошибкой, потому что на этот вопрос он ошибочно вернул логическое значение. Хотя я сильно сомневаюсь, что кому-то интересно, каким был бы результат этого ответа, я всё же дам ответ. Если бы это действительно было в мире программирования, сервер сначала рассмотрел бы вариант дать вам кофе, и только если кофе не оказалось бы, она принесла бы вам чай.
2. Программисты часто страдают или страдали от синдрома точки с запятой в конце.
Пример: например, эти строки;
Причина: большинство программ, особенно на C — вводном языке программирования для большинства программистов, завершают операторы точками с запятой.
Комментарий: Привычка завершать строку точкой с запятой — вредная привычка, свойственная только программистам. Помните все те странные ошибки компиляции, окончательной причиной которых всегда была та крошечная пропущенная ";"? Вот откуда взялась эта вредная привычка. Говорят, что с завершением точкой с запятой связана целая история: клавиша точки с запятой находится как раз на позиции правого мизинца, что даёт ей уникальное географическое преимущество перед точкой и другими клавишами. Конечно, есть и языки программирования, не требующие точки с запятой в конце (например, Ruby и Python), и когда впервые ими пользуешься, чувствуешь себя особенно неуютно из-за отсутствия завершающей точки с запятой.
3. Понятие «язык» у программистов отличается от такового у обычных людей.
Пример: на вопрос «Какие языки вы знаете?» обычный человек: «Я знаю китайский и английский, и немного французского». Программист: «Я знаю C, C++, Java и немного Ruby».
Причина: В мире программиста нет родного или иностранного языка, есть только языки программирования.
Комментарий: Серьёзно, синтаксис языков программирования учить легче, чем иностранные языки. Если вам попадётся программа, написанная на языке, который вы не изучали, вы более или менее сможете понять её части. У языков программирования нет границ, и это лучший мост для общения программистов из всех стран.
4. Программисты особенно ненавидят ситуации, когда скобки/кавычки не имеют пары.
Пример: Когда вы видите такой текст (просто простой пример (я знаю, вы поняли), можете ли вы сказать "Я спокоен, я не паникую"?
Причина: Различные проблемы с несовпадением вызывают ошибки компиляции.
Комментарий: При просмотре кода они ненормально чувствительны к несовпадающим парам; одного взгляда достаточно, чтобы увидеть, где пропущена закрывающая скобка. Этот симптом становится ещё более мучительным при использовании сред разработки с функцией автодополнения.
5. Программисты считают, что кило (k) == 1024.
Пример: Таблица пересчёта программиста: 1km == 1024m, 1kg == 1024g.
Причина: Происхождение запутанно. Компьютеры — это двоичный мир -> 1024 — это 2 в 10-й степени -> В английском для обозначения этого используется слово kilo -> kilo переводится на китайский как "тысяча", например kilometer и kilogram.
Комментарий: Может быть, обычные люди считают 500 и 1000 красивыми круглыми числами, но программисты считают 512 и 1024 круглыми числами. Не удивляйтесь. Если 128, 256, 512 выглядят недостаточно круглыми, позвольте мне перевести их в двоичную систему для вас: 10000000, 100000000, 1000000000...
6. Программисты по привычке используют == для обозначения равенства.
Пример: См. 5.
Причина: в языках программирования «=» — это присваивание, а «==» используется для проверки равенства двух значений.
Комментарий: разница между одинарным и двойным знаком равенства — обязательный материал для начинающих программистов и любимая тема проверки у преподавателей. Если в C написать одинарный знак равенства в условии if, код скомпилируется, но результат часто будет неверным, так что новичок может потратить немало времени на отладку. Конечно, в большинстве современных языков это учли и предотвращают такую опечатку, но разница между одинарным и двойным знаком равенства глубоко укоренилась в сердце каждого программиста.
7. Программисты используют «//» в значении «пожалуйста, игнорируйте эту строку текста».
Пример: В ресторане. Программист A: «Я буду рис с свининой по-сычуаньски. А вы что будете?»
Программист B: «Рис с курицей гунбао».
Программист A пишет в бланке заказа:
Рис с свининой по-сычуаньски 1
Рис с курицей гунбао 1
Программист B: «Я всё-таки буду лапшу с говядиной!»
Программист A исправляет бланк заказа:
Рис с свининой по-сычуаньски 1
// Рис с курицей гунбао 1
Лапша с говядиной 1
Причина: В программах «//» используется для добавления комментариев в код. При запуске программа игнорирует строки кода, начинающиеся с «//».
Комментарий: Если вас обделили вниманием в компании программистов, вы можете пожаловаться: «Эй, эй, эй, меня что, закомментировали?» Я верю, что программисты, всегда известные своим богатым чувством юмора и отзывчивостью, обратят на вас внимание.
8. У программистов есть фобия китайских знаков препинания.
Пример: Если вы заметили, в этой статье от начала до конца использовалась английская пунктуация — это лучший пример.
Причина: Все символы в программах строго требуют английской полуширинной пунктуации.
Комментарий: У этой вредной привычки есть китайская специфика, и она присуща только китайским программистам. Любой выдающийся программист в нашей стране должен уметь отличать китайскую пунктуацию от английской. Например: , против ,, и ' против '. Серьёзно, разве в начале нашего обучения программированию мы не видели достаточно ошибок вроде «error C2018: unknown character '0xa3′»?
9. Теперь я считаю, что число 256 абсолютно идеально. Но непрограммисты этого не понимают, и иногда это застаёт меня врасплох.
Комментарий редактора: А как же 1024?
10. Когда я читаю бумажную книгу, я очень раздражаюсь. Почему нельзя использовать Ctrl+F, чтобы найти то, что хочу прочитать?
Комментарий редактора: Когда я смотрю телевизор и начинается реклама, я тоже очень раздражаюсь. Почему нельзя перемотать её вперёд?
11. Я всё гуглю.
Комментарий редактора: А если вы забудете адрес Google?
12. Несколько лет назад я пошёл в кофейню пообедать. Девушка за стойкой спросила, какой хлеб я хочу. Не задумываясь, я сказал: «Тот, что по умолчанию».
Неловко — она, возможно, до сих пор надо мной смеётся...
Комментарий редактора: Если та девушка не понимала программирование, она, вероятно, не стала бы смеяться; она бы просто недоумевала.
13. Недостаток сна — я уже привык к этому.
Комментарий редактора: Большие панды больше не должны быть вымирающим видом! Недостаток сна вреден для здоровья. Кроме того, друзья, читающие эту статью, независимо от того, программисты вы или нет, должны проверить, соответствует ли ваш сон норме.
Я люблю оптимизировать свои повседневные задачи и по возможности использовать параллельную обработку. Например, включив компьютер, я бегу на кухню, чтобы включить чайник и приготовить кофе, затем бегу обратно, чтобы ввести пароль и войти; пока открывается Firefox, я иду налить горячей воды, чтобы заварить кофе, потом возвращаюсь с кофе, чтобы просмотреть новости; кроме того, чистка зубов сидя на унитазе экономит несколько минут каждый день.
Комментарий редактора: Брат, то, что ты держишь, — не кофе, а твоя челюсть!
Вот именно такие это люди: если вы медленно пользуетесь компьютером, они нетерпеливо выхватят клавиатуру и ловко применят всевозможные горячие клавиши; они говорят детям, что тремя основными цветами компьютера являются красный, зелёный и синий, а не красный, жёлтый и синий; описывая размер и расстояние, они склонны использовать пиксели как единицу измерения; когда они смотрят фильм со своей девушкой и видят в зале редких, разбросанных зрителей, им хочется выполнить дефрагментацию диска... Несмотря на все жалобы, разве не это делает их такими милыми?
Комментарий редактора: Слава богу, ни один язык программирования не заканчивается вопросительным знаком? Иначе кто бы смог понять вашу статью?
У вас есть похожие вредные привычки? Делитесь своими жалобами со всеми! :)
Источник: oschina