Главная страница
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.015 c
2-1221676471
Евгений Р.
2008-09-17 22:34
2008.10.26
Активная форма MDI приложения


15-1218174240
TUser
2008-08-08 09:44
2008.10.26
Объявлена дата запуска LHC


15-1220164701
Riply
2008-08-31 10:38
2008.10.26
Запись и чтение реестра.


1-1201004255
Bocman
2008-01-22 15:17
2008.10.26
IntraWeb и ISAPI


2-1221992928
voprsest
2008-09-21 14:28
2008.10.26
поиск дочерних окон