Forum Webscript.Ru

Программирование => PHP => Тема начата: Puma от 22 Февраля 2006, 15:45:25

Название: Как правильно?
Отправлено: Puma от 22 Февраля 2006, 15:45:25
Может вопрос немного не по теме, но я не знаю в какой его раздел задать! Я ни где программированию не учился и спросить больше некого!
Как лучше и правильнее писать:

if(!$string) $string=\'значение1\';

if ($string == \'значение1\') выражение1;
else if ($string == \'значение2\') выражение2;

или лучше:

if ((!$string) || ($string == \'значение1\')) выражение1;
else if ($string == \'значение2\') выражение2;

Заранее спасибо!
Название: Как правильно?
Отправлено: Меняздесьдавнонет от 22 Февраля 2006, 17:43:14
а пофигу
Название: Как правильно?
Отправлено: CGVictor от 22 Февраля 2006, 17:49:30
Puma
Как хочешь.

Первый вариант потом (спустя год-два-три) при рефакторинге воспринимается лучше, имхо.
Название: Как правильно?
Отправлено: Scroller от 22 Февраля 2006, 17:50:16
Puma
Вообще разницы нет, но второй вариант короче и в нем выполняется меньше действий, соответственно он выполняется быстрей и места занимает меньше.
Название: Как правильно?
Отправлено: Puma от 22 Февраля 2006, 18:08:53
CGVictor

Мне кажется что при рефакторинге как раз второй вариант воспринимается легче, потому что эта строчка
if(!$string) $string=\'значение1\';
может стоять, например, совсем не в том месте, где происходит проверка!
Название: Как правильно?
Отправлено: CGVictor от 22 Февраля 2006, 18:37:01
Scroller Puma
Да пишите как хотите.
Вам рефакторить, не мне.

RomikChef
Ром, мож прибить эту тему? Ерунда же на п.масле...
Название: Как правильно?
Отправлено: Scroller от 23 Февраля 2006, 16:17:19
CGVictor
Я думал, что на этом форуме люди помогают друг-другу, а не говорят
Цитировать
Да пишите как хотите.

Это уже не помощь...
Название: Как правильно?
Отправлено: for_i_0 от 23 Февраля 2006, 17:50:33
Scroller
а что писать если действительно пофигу :) ?

Цитировать
Scroller:
Вообще разницы нет, но второй вариант короче и в нем выполняется меньше действий, соответственно он выполняется быстрей


что значит быстрее ? :) или на сколько если действительно быстрее ?
Цитировать
Scroller:

и места занимает меньше.

где на сервере что ли ? опять тот же вопрос.

если уж так хочется можно вообще альтернативные конструкторы использывать или тот же switch. А на вопрос что лучше ответили в полне доходчиво.
Название: Как правильно?
Отправлено: Scroller от 24 Февраля 2006, 16:04:30
for_i_0
Цитировать
Scroller:
что значит быстрее ?  или на сколько если действительно быстрее ?

Ну, выполняться программа будет быстрее. В таком коротком примере разница будет незаметна, но при огромных скриптах на тысячи строк разница будет ощутима.
Цитировать
Scroller:
где на сервере что ли ? опять тот же вопрос.

Файл будет занимать менше места, т.к. сам скрипт короче.
Название: Как правильно?
Отправлено: CGVictor от 24 Февраля 2006, 16:12:23
Scroller
Вот сделай тест и опубликуй результат.
Только я не уверен, что будет сколь нибудь ощутимая разница даже при 100К прогонах.
Название: Как правильно?
Отправлено: Scroller от 27 Февраля 2006, 14:29:27
CGVictor
Ну я ж говорю, на таком маленьком примере ничего заметно не будет, но когда у нас огромные скрипты на тысячи строк, которые делают выборку из БД ( где около полумилиона записей), после чего нужно эти данные сложным образом обработать и записать изменения обратно в БД, вывести в браузер или еще что-нить... при чем все это надо делать по нескольку раз в час... вот тогда разница становится заметна.
Название: Как правильно?
Отправлено: CGVictor от 27 Февраля 2006, 16:50:03
Scroller
[m] Тем, кто принципиальный:
результаты теста для миллиона (1000000) прогонов:
Var1: 2.43273901939 sec
var2: 4.01181697845 sec

В нормальном скрипте не будет и сотой доли.
Обсуждать больше нечего.

[off]А Ромик был прав... нечего тут больше делать.[/off]