Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.26;
Скачать: CL | DM;

Вниз

Оптимизация   Найти похожие ветки 

 
Дмитрий87   (2008-09-18 17:18) [0]

Дайте совета по оптимизации кода а то как мне кажется код выглядит громоздко. Может какие проверки еще добавить.

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;


 
Johnmen ©   (2008-09-18 17:25) [1]

1. лишние begin end"ы
2. зачем траить исключение, если оно тут же будет поднято?
3. вот так никогда не делай: RecordCount <= 0, забудь про рекордкаунт
4. каков смысл поднятия ексепшена, если нет коннекта?


 
oldman ©   (2008-09-18 17:26) [2]

Работает быстро и качественно? Тогда забей!

Оптимизация тебе нужна зачем? Бумаги на распечатку кода жлко?


 
clickmaker ©   (2008-09-18 17:32) [3]

нужно получить одно поле из одной записи?
какой движок?


 
Сергей М. ©   (2008-09-18 20:04) [4]


> Дайте совета по оптимизации кода


Начать с устранения бреда в именовании методов.


> Connection.First


Вот он бред - у Соединения нет и не может быть Первой записи.
Первая запись существует у Набора данных, а не у Соединения.



Страницы: 1 вся ветка

Текущий архив: 2008.10.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
15-1220412091
Slider007
2008-09-03 07:21
2008.10.26
С днем рождения ! 3 сентября 2008 среда


2-1221737311
Int23
2008-09-18 15:28
2008.10.26
Как сохранить содержимое буфера обмена и восстановить


2-1221625602
Ivanov Ivan
2008-09-17 08:26
2008.10.26
Индекс строки ListView


2-1221546073
dmitry_12_08_73
2008-09-16 10:21
2008.10.26
Определение идентификатора потока


2-1221812490
Alex86
2008-09-19 12:21
2008.10.26
Вложенный запрос