Skip to content

clang_format #426

Open
Open

Description

@yanovich

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

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

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

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

clang-format.txt

Activity

  1. beldmit commented on Dec 2, 2022

    @beldmit
    Contributor

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

  2. vt-alt commented on Dec 2, 2022

    @vt-alt
    Member

    Есть же .editorconfig.

  3. yanovich commented on Dec 2, 2022

    @yanovich
    ContributorAuthor

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

  4. yanovich commented on Dec 2, 2022

    @yanovich
    ContributorAuthor

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

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

  5. beldmit commented on Dec 2, 2022

    @beldmit
    Contributor

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

  6. phprus commented on Dec 2, 2022

    @phprus

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

  7. vt-alt commented on Dec 3, 2022

    @vt-alt
    Member

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

    К сожалению в результате этих изменений теряется 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. Может достаточно переформатировать только отступы в начале строк, но не менять внутри строк?

  8. phprus commented on Dec 3, 2022

    @phprus
  9. yanovich commented on Dec 3, 2022

    @yanovich
    ContributorAuthor

    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

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

  10. yanovich commented on Dec 3, 2022

    @yanovich
    ContributorAuthor

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions