Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Стоит ли использовать else

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
qtk
Отправлено: 02 Марта, 2015 - 17:28:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Замечал что в одном скрипте, одного человека код бывает написан по разному
PHP:
скопировать код в буфер обмена
  1.  
  2. if(...) {
  3. // какой то код
  4. } else {
  5.     return $x;
  6. }
  7.  


и такой код, без else
PHP:
скопировать код в буфер обмена
  1.  
  2. if(...) {
  3. // какой то код
  4. }
  5. return $x;
  6.  


Смысл ведь не меняется или я чего то не понимаю?
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 17:33:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




если это пишется в функции или методе, то не поменяется..
только скорей всего в if в первом блоке тоже есть return, он и выкидует из функции

(Отредактировано автором: 02 Марта, 2015 - 17:35:19)

 
 Top
esterio
Отправлено: 02 Марта, 2015 - 17:43:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




как раз меняется если в if нету return-а
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 17:49:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




конечно меняется, я первый раз невнимательно прочитал.
return обязательно должен быть в первом блоке if, что бы ничего не поменялось!
 
 Top
DelphinPRO
Отправлено: 02 Марта, 2015 - 18:46:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Согласно хорошим практикам программирования, следует стремиться уменьшать вложенность кода для повышения читабельности. Делайте выводы.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
qtk
Отправлено: 02 Марта, 2015 - 20:47:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Что же конкретно меняется? Если есть else то return вернет данные в нем, а есле нет то так же вернет данные после if. Можно пожалуйста поподообней?
(Добавление)
Да, в if тоже есть return
(Добавление)
К примеру вот класс где встречается эта ситуация[url] https://github.com/slimphp/Slim/blob/master/Slim/Http/Request.php[/url]
 
 Top
OrmaJever Модератор
Отправлено: 03 Марта, 2015 - 13:22:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




qtk пишет:
PHP:
скопировать код в буфер обмена
  1. if(...) {
  2. // какой то код
  3. } else {
  4.     return $x;
  5. }


переверните логику и уберите else
PHP:
скопировать код в буфер обмена
  1. if( !...) {
  2.     return $x;
  3. }
  4. // какой то код


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
qtk
Отправлено: 03 Марта, 2015 - 13:29:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




То что можно логику перевернуть это понятно. Просто почему так реализован код мне интересно, в разных методах по разному. Ради интереса гляньте ссылочку))))
 
 Top
esterio
Отправлено: 03 Марта, 2015 - 14:07:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




DelphinPRO пишет:
Согласно хорошим практикам программирования
 
 Top
qtk
Отправлено: 03 Марта, 2015 - 15:21:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Все понял! Всем огромное спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB