Автор Тема: Как правильно?  (Прочитано 7883 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Puma

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.ok-study.ru
Как правильно?
« : 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;

Заранее спасибо!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как правильно?
« Ответ #1 : 22 Февраля 2006, 17:43:14 »
а пофигу

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Как правильно?
« Ответ #2 : 22 Февраля 2006, 17:49:30 »
Puma
Как хочешь.

Первый вариант потом (спустя год-два-три) при рефакторинге воспринимается лучше, имхо.
LJ: Backslashed life (rss)

Оффлайн Scroller

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gameproject.jino-net.ru
Как правильно?
« Ответ #3 : 22 Февраля 2006, 17:50:16 »
Puma
Вообще разницы нет, но второй вариант короче и в нем выполняется меньше действий, соответственно он выполняется быстрей и места занимает меньше.

Оффлайн Puma

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 38
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.ok-study.ru
Как правильно?
« Ответ #4 : 22 Февраля 2006, 18:08:53 »
CGVictor

Мне кажется что при рефакторинге как раз второй вариант воспринимается легче, потому что эта строчка
if(!$string) $string=\'значение1\';
может стоять, например, совсем не в том месте, где происходит проверка!

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Как правильно?
« Ответ #5 : 22 Февраля 2006, 18:37:01 »
Scroller Puma
Да пишите как хотите.
Вам рефакторить, не мне.

RomikChef
Ром, мож прибить эту тему? Ерунда же на п.масле...
LJ: Backslashed life (rss)

Оффлайн Scroller

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gameproject.jino-net.ru
Как правильно?
« Ответ #6 : 23 Февраля 2006, 16:17:19 »
CGVictor
Я думал, что на этом форуме люди помогают друг-другу, а не говорят
Цитировать
Да пишите как хотите.

Это уже не помощь...

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Как правильно?
« Ответ #7 : 23 Февраля 2006, 17:50:33 »
Scroller
а что писать если действительно пофигу :) ?

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


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

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

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

если уж так хочется можно вообще альтернативные конструкторы использывать или тот же switch. А на вопрос что лучше ответили в полне доходчиво.
[off]Безработный[/off]

Оффлайн Scroller

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gameproject.jino-net.ru
Как правильно?
« Ответ #8 : 24 Февраля 2006, 16:04:30 »
for_i_0
Цитировать
Scroller:
что значит быстрее ?  или на сколько если действительно быстрее ?

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

Файл будет занимать менше места, т.к. сам скрипт короче.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Как правильно?
« Ответ #9 : 24 Февраля 2006, 16:12:23 »
Scroller
Вот сделай тест и опубликуй результат.
Только я не уверен, что будет сколь нибудь ощутимая разница даже при 100К прогонах.
LJ: Backslashed life (rss)

Оффлайн Scroller

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gameproject.jino-net.ru
Как правильно?
« Ответ #10 : 27 Февраля 2006, 14:29:27 »
CGVictor
Ну я ж говорю, на таком маленьком примере ничего заметно не будет, но когда у нас огромные скрипты на тысячи строк, которые делают выборку из БД ( где около полумилиона записей), после чего нужно эти данные сложным образом обработать и записать изменения обратно в БД, вывести в браузер или еще что-нить... при чем все это надо делать по нескольку раз в час... вот тогда разница становится заметна.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Как правильно?
« Ответ #11 : 27 Февраля 2006, 16:50:03 »
Scroller
[m] Тем, кто принципиальный:
результаты теста для миллиона (1000000) прогонов:
Var1: 2.43273901939 sec
var2: 4.01181697845 sec

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

[off]А Ромик был прав... нечего тут больше делать.[/off]
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28