Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
ВнизAssert Найти похожие ветки
← →
Scott Storch (2011-06-29 17:09) [0]в каких случаях следует использовать assert? есть, например, public-метод класса TUpdr:
procedure TUpdr.ApplyPack(Pack: TZipForge);
var
Cur: IXMLDOMNode;
Hdr: IXMLDOMDocument;
I: Integer;
begin
Hdr := CoDOMDocument.Create;
GetPackHdr(Pack, Hdr);
with Hdr.documentElement do
for I := 0 to childNodes.length - 1 do
begin
Cur := childNodes[I];
if SameText(Cur.nodeName, FILE_NODE_NAME) or
SameText(Cur.nodeName, FILE_FULL_NODE_NAME) then
ApplyUpdrNode(Cur)
else
ApplyFileNode(Cur);
end;
end;
Стоит ли ставить assert на проверку параметра - Pack?
Assert(Pack <> nil);
← →
Rouse_ © (2011-06-29 17:21) [1]В любых где тебе захочется, это просто один из методов отладки - не более...
← →
Dimka Maslov © (2011-06-29 18:40) [2]Поскольку ошибка всегда бывает в 17-той строке, следовательно assert должен быть в 16-той
← →
Дмитрий Белькевич (2011-06-30 09:45) [3]
> Стоит ли ставить assert на проверку параметра - Pack?
А как не лень. По хорошему - то все входные параметры проверять на корректность - как минимум. Можно еще и выходные. Можно и по коду проверок набросать.
В общем - кашу маслом не испортишь.
← →
_Юрий (2011-06-30 22:05) [4]
> Дмитрий Белькевич (30.06.11 09:45) [3]
Особенно смешно буднет потом, когда внезапно изменятся правила. Разбросанные по коду проверки еще длительное время будут доставлять массу веселых минут горемыкам, сопровождающим проект.
← →
_Юрий (2011-06-30 22:11) [5]
> Scott Storch (29.06.11 17:09)
в данном случае смысла в Assert особо не видно - если придет nil, тут же поднимется AV (на чтении адреса, близкого к нулевому), и ошибка будет выявлена. Assert имеет смысл ставить там, где без него программа пошла бы по ошибочной ветке.
← →
George © (2011-07-01 18:23) [6]
> Поскольку ошибка всегда бывает в 17-той строке, следовательно
> assert должен быть в 16-той
Если исходить из того, что ошибка всегда в 17-й строке, то и ассерт не надо ставить, надо идти в 17-ю строку и править там ошибку.
Кстати, дурацкий вопрос, но откуда взялся этот мем?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c