Выпущенная / производственная версия получила кучу повреждений. Решение, предотвращающее это? - PullRequest
0 голосов
/ 13 ноября 2009

В нашей компании мы каким-то образом получили код для производства, который потерпел крах (потому что Heap каким-то образом был поврежден). Разработчики разработали, после этого тестеры взялись за это, и позже это было выпущено естественным путем (ежемесячный выпуск). Все было хорошо, пока он не рухнул ... Мы попытались исследовать это и нашли много мест, где мы могли бы получить кучу коррупции ... Что мы могли бы сделать, чтобы предотвратить это? Подчеркнули наши обзоры кода (у нас это 4/5 все время, и только один разработчик делает это без какой-либо помощи со стороны его кодера)? Изменить нашу политику управления памятью только с помощью умных указателей или чего-то еще? Любой совет был бы хорош!

1 Ответ

1 голос
/ 13 ноября 2009

Переключите управляемый язык (C #, Java, что угодно), если можете. Если вы не можете:

  • Используйте RAII.
  • Четко определите, кому принадлежит каждый бит памяти.
  • Создание объектов в стеке, где это возможно.
  • Используйте умные указатели в согласованном порядке.
  • Пусть ваши рецензенты кода следят за указанными выше пунктами.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...