Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
15-1220267957
Adventure
2008-09-01 15:19
2008.10.26
Слеить EXE и DLL


11-1194440742
misha_shar
2007-11-07 16:05
2008.10.26
Вопрос по TabControl;


15-1220190358
Синий Дракон
2008-08-31 17:45
2008.10.26
Логическая задача


2-1221685699
Дмитрий С
2008-09-18 01:08
2008.10.26
AutoSize для Memo


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский