- PVSM.RU - https://www.pvsm.ru -
Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.
Я увидел на Reddit дискуссию "Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...) [1]". Обсуждение получилось не очень большое и интересное. И тут я подумал, а не попробовать ли повторить опрос на Хабре, как я поступил [2] с вредными советами.
Кстати, идея с вредными советами развивается. Скоро я планирую выпустить мини-книгу с 60 антисоветами по C++. Подписывайтесь [3] на ежемесячную рассылку у нас на сайте, чтобы не пропустить наиболее интересные публикации.
Итак, тема вредных советов раскрыта :). Время пособирать хорошие практики!
Я начну, а вас приглашаю присоединиться и написать в комментариях:
Примечание для себя. Если буду потом писать статью по собранной информации, надо проверить эти и другие предложенные проекты с помощью PVS-Studio. А то библиотеки разные бывают... [6] Не хочется что-то потенциально глючное рекомендовать как пример для подражания.
Прошу делиться всем, что, на ваш взгляд, полезно C++ программистам!
Автор: Андрей Карпов
Источник [30]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/381666
Ссылки в тексте:
[1] Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...): https://www.reddit.com/r/cpp/comments/z3i2ae/good_repos_for_beginners_to_browse_that_follow/
[2] поступил: https://habr.com/ru/company/pvs-studio/blog/599219/
[3] Подписывайтесь: https://pvs-studio.com/ru/subscribe/
[4] ModernCppStarter: https://github.com/TheLartians/ModernCppStarter
[5] gui_starter_template: https://github.com/cpp-best-practices/gui_starter_template
[6] А то библиотеки разные бывают...: https://pvs-studio.com/ru/blog/posts/cpp/0762/
[7] Diligent Engine: https://github.com/DiligentGraphics/DiligentEngine
[8] JSON for Modern C++: https://github.com/nlohmann/json
[9] Stroika: https://github.com/SophistSolutions/Stroika
[10] concurrencpp: https://github.com/David-Haim/concurrencpp
[11] awesome-hpp: https://github.com/p-ranav/awesome-hpp
[12] Ускорение сборки C и C++ проектов: https://pvs-studio.com/ru/blog/posts/cpp/0549/
[13] лекцию: https://youtu.be/_2LA8H7QcXQ
[14] старые: https://stackoverflow.com/questions/373142/what-techniques-can-be-used-to-speed-up-c-compilation-times
[15] новые: https://www.reddit.com/r/cpp/comments/hj66pd/c_is_too_slow_to_compile_can_you_share_all_your/
[16] C++ Core Guidelines: https://github.com/isocpp/CppCoreGuidelines
[17] Collaborative Collection of C++ Best Practices: https://github.com/cpp-best-practices/cppbestpractices
[18] C++ Weakly: https://www.youtube.com/channel/UCxHAlbZQNFU2LgEtiqd2Maw
[19] Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html
[20] AddressSanitizer: https://github.com/google/sanitizers/wiki/AddressSanitizer
[21] LeakSanitizer: https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer
[22] ThreadSanitizer: https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
[23] MemorySanitizer: https://github.com/google/sanitizers/wiki/MemorySanitizer
[24] HWASAN: https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html
[25] UBSan: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
[26] мощный статический анализатор кода: https://pvs-studio.com/ru/blog/posts/0908/
[27] C++ Best Practices (2019): https://rigtorp.se/cpp-best-practices/
[28] Главный вопрос программирования, рефакторинга и всего такого: https://pvs-studio.com/ru/blog/posts/cpp/0391/
[29] C++ Coding Standards: 101 Rules, Guidelines, and Best Practices: http://micro-os-plus.github.io/develop/sutter-101/
[30] Источник: https://habr.com/ru/post/708138/?utm_source=habrahabr&utm_medium=rss&utm_campaign=708138
Нажмите здесь для печати.