![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оптимизация
Дмитрий87 © (2008-09-18 17:18:00)Дайте совета по оптимизации кода а то как мне кажется код выглядит громоздко. Может какие проверки еще добавить.
function Tdatamodule_Connection.First: Integer;
begin
Result := -1;
if ConnectionStatus = csConnected then
with cmp_Table_ do begin
try
Open;
if RecordCount <= 0 then
Result := 0
else
begin
First;
Result := FieldByName(const_field_item_id).AsInteger;
end;
except
on E: Exception do begin
FLastError := E.Message;
raise Exception.Create(E.Message);
end;
end;
end
else begin
FLastError := const_ERROR_CONNECT;
raise Exception.Create(FlastError);
end;
end;
Сергей М. (2008-09-18 20:04:00) [1]
> Дайте совета по оптимизации кода
Начать с устранения бреда в именовании методов.
> Connection.First
Вот он бред - у Соединения нет и не может быть Первой записи.
Первая запись существует у Набора данных, а не у Соединения.
clickmaker (2008-09-18 17:32:00) [2]нужно получить одно поле из одной записи?
какой движок?
oldman (2008-09-18 17:26:00) [3]Работает быстро и качественно? Тогда забей!
Оптимизация тебе нужна зачем? Бумаги на распечатку кода жлко?
Johnmen (2008-09-18 17:25:00) [4]1. лишние begin end'ы
2. зачем траить исключение, если оно тут же будет поднято?
3. вот так никогда не делай: RecordCount <= 0, забудь про рекордкаунт
4. каков смысл поднятия ексепшена, если нет коннекта?