Библиотека C/C++ разработчика | cpp, boost, qt
20.7K subscribers
1.64K photos
44 videos
16 files
3.82K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
Чек-лист для Code Review

Code review — один из самых эффективных способов повышения качества кода. Составили чек-лист для reviewer'ов и авторов PR.

1. Архитектура и дизайн

• Соответствует ли код общей архитектуре проекта?
• Не нарушаются ли SOLID принципы?
• Правильно ли выбраны абстракции и интерфейсы?

2. Логика и корректность

• Корректно ли реализована бизнес-логика?
• Обрабатываются ли все edge cases?
• Нет ли off-by-one ошибок в циклах?

3. Безопасность кода

• Правильно ли управляется память?
• Нет ли потенциальных buffer overflow'ов?
• Корректно ли обрабатываются исключения?

4. Производительность

• Нет ли ненужных копирований объектов?
• Эффективны ли используемые алгоритмы?
• Правильно ли используются контейнеры STL?

5. Читаемость и поддерживаемость

• Понятны ли названия переменных и функций?
• Достаточно ли комментариев для сложной логики?
• Не слишком ли сложные функции (соблюдается ли SRP)?

6. Соответствие стандартам

• Следует ли код style guide проекта?
• Используются ли современные возможности C++?
• Корректно ли оформлены заголовочные файлы?

7. Тестирование

• Покрыт ли новый код unit тестами?
• Обновлены ли существующие тесты?
• Протестированы ли edge cases?

8. Документация

• Обновлена ли документация API?
• Есть ли примеры использования для новых функций?
• Актуальны ли комментарии в коде?

9. Обратная совместимость

• нарушается ли API существующих компонентов?
• Совместимы ли изменения с используемыми версиями библиотек?

10. Финальная проверка

• Проходят ли все автоматические тесты?
• Нет ли compiler warnings?
• Готов ли код к production?

Библиотека C/C++ разработчика #буст
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?

Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.

🧐 Мы проводим исследование, чтобы выяснить:

— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор

Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.

😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
⚠️ Debugging: инструменты для поиска багов

Для C++ инструменты помогающие находить и исправлять ошибки имеют такое же значение, как и само написание кода. Сама же отладка превращается в искусство, которое призвано заставить код работать не только быстро, но и выполнять возложенные на него задачи.

Делимся арсеналом инструментов для разных типов багов.

Memory issues:

• Valgrind (Linux/Mac) — поиск утечек и ошибок доступа
• AddressSanitizer (-fsanitize=address) — встроенный в GCC/Clang
• Dr. Memory (Windows)

Performance:

• gprof — профайлинг CPU
• perf (Linux) — системное профилирование
• Intel VTune — продвинутое профилирование

Thread issues:

• ThreadSanitizer (-fsanitize=thread)
• Helgrind (Valgrind tool)

Static analysis:

• clang-static-analyzer
• PVS-Studio
• PC-lint Plus

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

🔍 Какие инструменты для отладки используете чаще всего? Есть любимые фишки?

Библиотека C/C++ разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM