Форум: "Потрепаться";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
ВнизБезопасный код и правильный стиль программирования Найти похожие ветки
← →
Rouse_ (2002-09-29 01:46) [0]Недавно прочитал в архивах ветку в которой принимали участие Юрий Зотов, Анатолий Подгорецкий и т.д. обсуждая проблему с VEG, в ней ставился вопрос Стоит ли завести раздел, в котором можно было бы почитать о стиле программирования, приемах и принципах написания безопасного (профессионального, если угодно) кода, посмотреть и разобрать конкретные примеры, возможно, предложить на рецензию свой собственный код и получить конкретные замечания по нему - и т. д.
Я всеми руками за, тем более что тема эта стоит в одном ряду с качеством написания программ. Мне кажется что такой раздел уже давно должен был появится на этом сайте.
С удовольствием выслушаю ваше мнение
← →
VuDZ (2002-09-29 06:09) [1]Собственный опыт - лучший учитель. Пока не пападёшь в ситуации, ги де проверка типа:
void * p = malloc(TO)_MUCH_MEMORY_REQUESTED);
if (!p)
return _not_enought_memory;
однозначно не является лишней, все рекомендации бессмыслены.
Есть хорошая книга Лу Гринзоу - несколько устаревшая, но тем не менее - Философия программирования для win95 - там весьма хорошо рассматривается этот вопрос.
← →
Manulo (2002-09-29 17:12) [2]Я канешна рискую оказаться неправ.... Но не считает ли каждый более-менее ставший на ноги програмёр, что его стиль являеться просто самым лутшим, правильным и оптимизированным? По моему энта как раз и называеться Собственный стилем :)
← →
Namo (2002-09-29 18:23) [3]
> Manulo
хм... а как на счет твоего стиля письма???
Feanturi: Valanyё Namo a Irmo // XXVII.III.LXXXVIII
← →
Shaman_Naydak (2002-09-29 18:28) [4]Немножко не в тему.. но было бы неплохо публиковать примеры с нестандартным мышлением программиста.. Вот пример из борланда, модуль ComServ (комментарии родные).. И таких примеров там можно надыбать ого-го!
procedure TComServer.LoadTypeLib;
var
Temp: ITypeLib;
begin
if FTypeLib = nil then
begin
// this may load typelib more than once, but avoids need for critical section
// and releases the interface correctly
Temp := LoadTypeLibrary(GetModuleFileName);
Integer(Temp) := InterlockedExchange(Integer(FTypeLib), Integer(Temp));
end;
end;
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c