Как считаете (желательно аргументированно): нужен растопроектам .editorconfig файл (editorconfig.org) в репе?
Меня чего-то загрузили этим вопросом немного
С одной стороны, хочется поменьше хлама в репе держать и проект так под rustfmt уже.
С другой, вон, вроде, каким-то людям с этой фиговиной сильно удобнее - жалко мне что ли? Гм гм.
UPD: Нашел такой закрытый RFC с обсуждением:
разные редакторы поддерживают. сразу пишешь праильно. копипастишь и вставляешь в правильном форматировании и не приходится потом ручным трудом страдать что бы глазу лучше стало. привычка из других технологий. не везде есть такой фмт
Помимо форматирования .editorconfig - это настройки редакторов для интерактивного написания кода. Как минимум он помогает при автоиндентации иметь правильное количество пробелов. Если есть rustfmt и настройки не отличаются от дефолтов, то его значимость уменьшается, но даже в этом случае может быть полезен, если кто-то выставил другие дефолтные настройки в своем редакторе. Если нету rustfmt или его настройки не дефолтные - однозначно must have.
Согласен, штука полезная, но следить за всем этим хозяйством все сложнее.
Я считаю, что либо он должен быть, либо должен быть в .gitignore
. Это единственный консистентный способ настроить базовое форматирование для разных редакторов, поэтому даже если проект его не предоставляет, он должен давать возможность самому положить .editorconfig
.
Определенно нужен. В любом проекте.
rustfmt
решает проблему исключительно для .rs
файлов.
Для любого Rust-проекта в репе присутствуют ещё, как минимум, .toml
файлы, чуть чаще .yaml
(спеки всяких CI), а для вполне себе жирных проектов и Makefile
'ы с Dockerfile
'ами. Без .editorconfig
месиво из табов/пробелов (а также присутствующих/отсутвующих trailing spaces и newline) в проектных файлах очень быстро превращается в ад, а для YAML/Makefile
ещё и может приводить к неожиданным граблям в работе.