Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clang_format #426

Open
yanovich opened this issue Dec 2, 2022 · 10 comments
Open

clang_format #426

yanovich opened this issue Dec 2, 2022 · 10 comments

Comments

@yanovich
Copy link

yanovich commented Dec 2, 2022

Есть предложение добавить файл настроек для clang-format. Это позволит установить стандарт для форматирования. Сейчас единого подхода в коде нет, поэтому приходится код руками форматировать, от чего я отвык уже )

Я пробовал разные варианты, в итоге остановился на требованиях OpenSSL для форматирования. У них тоже нет своих настроек для clang-format, но есть требования.

Минусом вносимого предложения является большой первоначальный whitespace патч, но плюсом -- сокращение времени на "причёсывание" будущих патчей.

Если смысл есть, сделаю PR.

clang-format.txt

@beldmit
Copy link
Contributor

beldmit commented Dec 2, 2022

Да, всячески одобряю. Если ещё и тест удастся сделать, будет вообще отлично

@vt-alt
Copy link
Member

vt-alt commented Dec 2, 2022

Есть же .editorconfig.

@yanovich
Copy link
Author

yanovich commented Dec 2, 2022

Первоначальный вариант в #427

@yanovich
Copy link
Author

yanovich commented Dec 2, 2022

Да, всячески одобряю. Если ещё и тест удастся сделать, будет вообще отлично

Точно можно сделать для clang-* вариантов тестов.

@beldmit
Copy link
Contributor

beldmit commented Dec 2, 2022

Лучше бы отдельно

@phprus
Copy link

phprus commented Dec 2, 2022

clang-format разных версий немного по разному воспринимает правила форматирования, в связи с этим автоматическая проверка в CI может приводить к сложностям, когда clang-format у автора отформатировал код одним способом, а clang-format в CI другим.

@vt-alt
Copy link
Member

vt-alt commented Dec 3, 2022

Да, всячески одобряю. Если ещё и тест удастся сделать, будет вообще отлично

К сожалению в результате этих изменений теряется git blame, например:

View file + Blame на один из файлов из #427: https://github.com/gost-engine/engine/blame/cf83bf3cb9108370bef19284278152e14acb115a/gost_ameth.c
у большинства строк с кодом: consistent formatting

ps. Это супер: https://github.com/gost-engine/engine/blame/cf83bf3cb9108370bef19284278152e14acb115a/test_ciphers.c#L213

pps. Может достаточно переформатировать только отступы в начале строк, но не менять внутри строк?

@phprus
Copy link

phprus commented Dec 3, 2022

Для git blame есть штатное решение: https://michaelheap.com/git-ignore-rev/

Гитхаб его поддерживает: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view

@yanovich
Copy link
Author

yanovich commented Dec 3, 2022

pps. Может достаточно переформатировать только отступы в начале строк, но не менять внутри строк?

Таких параметров я не нашёл, к сожалению.

Главный эффект в том, что если такое сделать, то дальнейшее форматирование будет одной кнопкой прямо из редактора.

Для git blame есть штатное решение: https://michaelheap.com/git-ignore-rev/

Гитхаб его поддерживает: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view

Бомба! Можно считать, что недостатка уже нет!

@yanovich
Copy link
Author

yanovich commented Dec 3, 2022

Лучше бы отдельно

Сделал в #427, сработка в #428

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants