Главная страница
    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.005 c
4-1186044306
memphis007
2007-08-02 12:45
2008.10.26
Использование WinAPI для взаимодействия с другими приложениями


15-1220416603
MdbPero
2008-09-03 08:36
2008.10.26
Экспорт схемы в Oracle


15-1220332426
Василий Жогарев
2008-09-02 09:13
2008.10.26
DWL-2100AP


11-1194330061
Robt
2007-11-06 09:21
2008.10.26
Collapse


15-1220206202
silver
2008-08-31 22:10
2008.10.26
продается программист





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский