Auslogics: работа и отзывы о работе
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Пример кода №1

Участников: 4

Перейти вниз

Пример кода №1 Empty Пример кода №1

Сообщение автор Marina-T Чт Ноя 05, 2015 10:30 pm

Код:

var
CS: TCriticalSection;
...
CS.Enter;
if (Dir <> CurrentDir) then
begin
CS.Leave;
Exit;
end;
CS.Leave;
...

Код показывает незнание основных механизмов, предоставляемых языком программирования. В данном случае необходимо использование конструкции try finally, что позволяет отказаться от второго вызова метода Leave и делает код более логичным, стабильным и читаемым.
Marina-T
Marina-T
Admin

Сообщения : 33
Дата регистрации : 2015-11-04
Возраст : 37

https://auslogics.forum2x2.ru

Вернуться к началу Перейти вниз

Пример кода №1 Empty Re: Пример кода №1

Сообщение автор SmartGuy Пн Ноя 23, 2015 10:05 pm

По возможности, вообще лучше избегать Exit. По моему так будет лучше:
Код:
 CS.Enter; try if (CompareText(Dir,CurrentDir) = 0) then begin Foo(); end; finally CS.Leave; end;1

SmartGuy

Сообщения : 5
Дата регистрации : 2015-11-20

Вернуться к началу Перейти вниз

Пример кода №1 Empty Re: Пример кода №1

Сообщение автор DELPHI team Auslogics Вт Ноя 24, 2015 10:39 pm

Приведенный пример как раз и демонстрирует неверное использование. В комментариях идет об этом речь и пояснение
DELPHI team Auslogics
DELPHI team Auslogics

Сообщения : 11
Дата регистрации : 2015-11-21

Вернуться к началу Перейти вниз

Пример кода №1 Empty Re: Пример кода №1

Сообщение автор MaxMix Вт Ноя 24, 2015 10:50 pm

Этот код тоже исполниться быстрее чем Try finaly. Не нужно быть догматичным программировании. Программирование это творчество!

MaxMix

Сообщения : 3
Дата регистрации : 2015-11-20

Вернуться к началу Перейти вниз

Пример кода №1 Empty Re: Пример кода №1

Сообщение автор DELPHI team Auslogics Ср Ноя 25, 2015 5:34 pm

Программирование- это ремесло!
В поисках специалиста мы рассматриваем тех, кто пишет стабильный и работающий код, а не рисует картины "как он это видит". Тем более, что в команде работает несколько человек, мы не можем допустить, чтобы каждый проявлял свой творческий потенциал. Все должно быть в рамках стандартов.

Мы работаем над ПО которое не обязательно должно показывать чудеса быстродействия, в первую ПО должно быть очень стабильным.
DELPHI team Auslogics
DELPHI team Auslogics

Сообщения : 11
Дата регистрации : 2015-11-21

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения