Как стать автором
Обновить

О трэйлинг вайтспейсах замолвите слово

Время на прочтение2 мин
Количество просмотров3.6K
Значит так. Властью, данной мне хабраредактором, я объявляю этот топик местом праведного гнева, ярости, местом вселенской скорби и бессильной ненависти, которые возникают в благородных мужах при виде подобной картины:

image

А теперь ВНЕЗАПНО, без всяких размусоливаний, две старейших, как мир, истины. Не говорите, что вы об этом никогда не слышали. И тем более не говорите, что вам нужны аргументы. Артгументы — для слабых духом, Истина Древних не нуждается в аргументации! [*]
  • Никаких табов в исходниках, только одни пробелы.
  • Никаких забытых пробелов в конце строки. Никогда. Ни при каких обстоятельствах. Только когда они там действительно нужны.

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

Шаг 1: Признайте проблему


Встаньте перед зераклом и, глядя себе в глаза, проговорите: «В моем коде полным-полно этих мерзких трэйлинг вэйтспейсов и постоянно разъезжающихся табов. С этим надо что-то делать. Нужно решить эту проблему. Я не могу больше причинять столько дискомфорта всем этим ребятам, которые работают со мной». Если не помогло, то попробуйте проговорить эту мантру еще несколько раз.

Шаг 2: Включите в своем редакторе вайтспейсодетектор


Настройте свой любимый редактор так, чтобы он показывал табы и лишние пробелы. Практически любой серьезный редактор умеет это делать. Если ваш редактор не умеет таких простых вещей, то немедленно удалите его — теперь он слишком прост для вас — и поставьте vim или emacs. Или Textmate. Или E Text Editor.

В Vim-е подсветка гадости включается очень просто:
set list
set listchars=tab:»·
set listchars+=trail:·
set endofline


В emacs существует специальный модуль whitespace, который позволяет подсвечивать и (бинго!) аннигилировать невидимых гадов одной командой:
M-x whitespace-cleanup

Шаг 3: Преградите нечисти путь в ваш репозиторий


Серьезно. Свяжитесь с человеком, который поддерживает ваш репозиторий, и попросите добавить его post-commit хуки для проверки коммита на наличие вредителей. Написать скрипт для любой SCM не составит труда. Кстати, вполне возможно, что в вашей системе функция обнаружения вайтспейсов уже есть из коробки, например в git-e ее нужно только включить.

[*] Future reading


Tabs considered harmful
Trailing whitespaces are bad
Теги:
Хабы:
Всего голосов 58: ↑19 и ↓39-20
Комментарии44

Публикации