Никита Прокопов (tonsky) wrote,
Никита Прокопов
tonsky

Categories:

Закроем тему: Tabs vs spaces

Пробелы надо использовать вместо табов, потому что табами нельзя выровнять вот такой код:

    fun ({submit, …}) -> …;
        ({count, …}) -> …;

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

То же самое касается пустых строк в конце файла. Они волнуют только C/C++ девелоперов в конце h-файлов, остальные перестаньте поддаваться этому карго-культу.

И, конечно, UTF-8.

Эти вещи не надо думать или обсуждать. Нужно просто так делать. Вот и всё. Этим я закрываю многовековую дискуссию.

Лирический постскриптум для любопытных

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

Git любит ругаться, потому что git делался для ядра линукса, а в ядре линукса пишут на C и патчи до сих пор пересылают в теле письма. Почтовые программы, которые это обслуживают, съедают висячие пробелы, и у них потом то ли патчи не применяются, то ли хэши не сходятся у коммитов. Интересно, насколько такая очень конкретная деталь определила и до сих пор определяет форму такого казалось бы универсального инструмента, как git. Еще интересно, сколько людей этому верят, считают это «хорошим стилем», энфорсят, делают настройки в редакторах, плагины, тулзы, создают из этого проблемы и решают их, но никогда не пытаются докопаться до первопричины.

Tags: девелопмент, инструментарий, наглядный пример, скандалы интриги расследования, тут и думать нечего
Subscribe

  • IPFCP, ой, то есть ICFPC-2020

    Ровно 11 часа назад закончился ICFPC 2020. Так как я предусмотрительно взял выходной на остаток дня, готовьтесь, сейчас буду РАССКАЗЫВАТЬ. Отчет за…

  • Почему JetBrains не напишет легковесную IDE

    Еще в 2011 я публично отказался от ИДЕ и так с тех пор и живу: TextMate, Vim, Sublime, LightTable, VS Code, снова Sublime. И вот год назад я…

  • Продолжаем обобщать и передергивать

    Евгений Трифонов накатал ответку на мой старый Software Disenchantment! На что у меня есть несколько замечаний, по мелочам и по существу. Готов…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 100 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

  • IPFCP, ой, то есть ICFPC-2020

    Ровно 11 часа назад закончился ICFPC 2020. Так как я предусмотрительно взял выходной на остаток дня, готовьтесь, сейчас буду РАССКАЗЫВАТЬ. Отчет за…

  • Почему JetBrains не напишет легковесную IDE

    Еще в 2011 я публично отказался от ИДЕ и так с тех пор и живу: TextMate, Vim, Sublime, LightTable, VS Code, снова Sublime. И вот год назад я…

  • Продолжаем обобщать и передергивать

    Евгений Трифонов накатал ответку на мой старый Software Disenchantment! На что у меня есть несколько замечаний, по мелочам и по существу. Готов…