Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как бы вы написали? - 2 :) 
V
    Опции темы
 
Я напишу:
первый вариант [ 2 ]  [40.00%]
второй вариант [ 3 ]  [60.00%]
Всего проголосовавших: 5
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
maxipub
Дата 5.11.2014, 15:30 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



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

Первый вариант:
Код

function name($param)
{
    if ($param === 1)
    {
        //...
        //...
        //...
        
        return;
    }

    if ($param === 2)
    {
        //...
        //...
        //...
        
        return;
    }

    if ($param === 3)
    {
        //...
        //...
        //...
        
        return;
    }

    if ($param === 4)
    {
        //...
        //...
        //...
        
        return;
    }
}



Второй вариант:
Код

function name($param)
{
    if ($param === 1)
    {
        //...
        //...
        //...
    }

    elseif ($param === 2)
    {
        //...
        //...
        //...
    }

    elseif ($param === 3)
    {
        //...
        //...
        //...
    }

    elseif ($param === 4)
    {
        //...
        //...
        //...
    }
}


Спасибо за голос! Не судите строго за глупый вопрос. smile  smile 
PM MAIL   Вверх
SoWa
Дата 5.11.2014, 15:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



switch религия не позволяет использовать?  smile 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
maxipub
Дата 5.11.2014, 16:07 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



SoWa, а вам придерживаться условий опроса? smile 
PM MAIL   Вверх
SoWa
Дата 5.11.2014, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



maxipub, мне как-то за подобный вопрос на хабре карму слили, и теперь я атеист  smile
Ну а если серьезно - откуда взялись такие варианты? Интересно же smile


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Aliance
Дата 5.11.2014, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Как придерживаться условий опроса, если они мягко говоря кажутся странными. Ведь для таких случаев switch и придумали. Но если уж религия не позволяет писать switch и есть желание городить забор из if/elseif - то второй вариант предпочтительней конечно.
PM MAIL WWW ICQ Skype   Вверх
s0lman
Дата 5.11.2014, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(Aliance @  5.11.2014,  15:35 Найти цитируемый пост)
Ведь для таких случаев switch и придумали.

Один мой друзяка как-то рассказывал, что заставили на жабаскриптовом проекте переписать все свичи на ифы  smile Может о производительности шла речь, не помню уже.


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
maxipub
Дата 5.11.2014, 17:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Да что там switch, я еще и ООП в разработке не использую! smile smile 

Если честно, мне симпатичней инструменты более низкого уровня что ли. Они универсальны. Зачем нам switch, если if проще и универсальней? Всуньте свой switch в функцию из примера, но с несколькими параметрами (массивом с параметрами). Не выйдет... Так что я не вижу смысла мешать в свой код то switch то if, если везде без каких-либо потерь можно обойтись последним. Впрочем, ни кого и не призываю действовать так же - личное дело. ;)

Продолжаем, голосуем... Всем спасибо за участие! smile 

Это сообщение отредактировал(а) maxipub - 5.11.2014, 17:59
PM MAIL   Вверх
SoWa
Дата 6.11.2014, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Цитата(maxipub @  5.11.2014,  17:58 Найти цитируемый пост)
Да что там switch, я еще и ООП в разработке не использую!   

Если честно, мне симпатичней инструменты более низкого уровня что ли. Они универсальны.

Я надеюсь, это сарказм?
Если нет - ваше дело, вы правы, но добрый совет - не светите этим так сильно(особенно на собеседованиях или с коллегами), не так поймут.
А пример про switch некорректный.
Во-первых, сделать switch от нескольких аргументов - изи. 
Во-вторых, как уже выше сказали - разные назначения switch/if, и слово "мешать" как-то слух режет в таком контексте. Это как "мешать" классы, абстрактные классы(в свете php) и интерфейсы - зачем интерфейсы и абстрактные классы, когда есть просто классы, если так размышлять?  smile 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
maxipub
Дата 6.11.2014, 10:54 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(SoWa @  6.11.2014,  10:00 Найти цитируемый пост)
Если нет - ваше дело, вы правы, но добрый совет - не светите этим так сильно(особенно на собеседованиях или с коллегами), не так поймут.

В компании, где я работаю, разработчик только один, так что мне тут особо не с кем "собеседоваться". smile 

Цитата(SoWa @  6.11.2014,  10:00 Найти цитируемый пост)
Во-первых, сделать switch от нескольких аргументов - изи.

Камон:
Код
function name($_param)
{
    if ($_param['notification'] === 'sms')
    {
        //...
        //...
        //...
    }
    elseif ($_param['notification'] === 'email')
    {
        //...
        //...
        //...
    }
    elseif ($_param['call_back'] === 'immediately')
    {
        //...
        //...
        //...
    }
    elseif ($_param['call_back'] === 'Monday')
    {
        //...
        //...
        //...
    }
}

PM MAIL   Вверх
baldina
Дата 6.11.2014, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Код

function name($_param)
{
    switch ($_param['notification'])
    {
        case 'sms':
          //...
          break;
        case 'email':
          //...
          break;
         default:
            switch ($_param['call_back']) {
                case 'immediately':
                   //...
                   break;
                case 'Monday':
                   //...
                   break;
            }
       }
}

заметьте, $_param['notification'] и $_param['call_back'] вычисляются лишь единожды
конечно не скажу, что это изящно, но есть и другие способы...

вы покажите конкретную задачу или её часть, тогда будет предметно.
PM MAIL   Вверх
_zorn_
Дата 6.11.2014, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Код

switch($_param['notification'])
{
  case 'sms':
    //...
  break;
  case 'email':
    //..
  break;
  default:
    switch($_param['call_back'])
    {
      case 'immediately':
        //...
      break;
      case 'Monday':
        //...
      break;
    }
}


Хы, почти слово в слово  smile 

Это сообщение отредактировал(а) _zorn_ - 6.11.2014, 11:19
PM MAIL   Вверх
maxipub
Дата 6.11.2014, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(baldina @  6.11.2014,  11:16 Найти цитируемый пост)
заметьте, $_param['notification'] и $_param['call_back'] вычисляются лишь единожды

Не совсем понятно, как это облегчает чтение кода? Убирает if(...), добавляя case и break...

Цитата(baldina @  6.11.2014,  11:16 Найти цитируемый пост)
конечно не скажу, что это изящно, но есть и другие способы...

Ага... А если обрабатываемых параметров будет 10? smile Вы скажете что это неправильный подход к проектированию, лишь бы оправдать применение switch!? smile 

Цитата(baldina @  6.11.2014,  11:16 Найти цитируемый пост)
вы покажите конкретную задачу или её часть, тогда будет предметно. 

Я думаю, тут суть не столько в задаче, сколько в подходе. Я не стану использовать switch не при каких обстоятельствах.

Выбирать между разными СУБД или между СУБД и файлами - это требует знания конкретной задачи. A wsitch или if - это уже дело вкуса, ИМХО! smile 
PM MAIL   Вверх
SoWa
Дата 6.11.2014, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Не согласен про дело вкуса. Так же как выбор БД - это под конкретную задачу. Иначе патерны проектирования, объектно-ориентированный анализ и прочие прелести придумали теоретики от нефиг делать smile
И уже переходя к этой забавной задачке - ничего в примере ниже не смущает?
// Если доставить смс, иначе если доставить почтой, иначе если доставить в понедельник, иначе если доставить сейчас. А если доставить смской в понедельник? goto используете?  smile  smile  smile 
Код

<?php
    $a = 'foobar';
    $b = 'barbaz';

    if ($a == 'foobar') {
        echo 'foobar';
    }
    elseif ($b == 'barbaz') {
        echo 'barbaz';
    }
?>

Что выведется?

В общем, вопрос уже глубже, чем "какую конструкцию использовать". Я думаю у всех участников темы появляется вопрос - вы вообще представляете, что вам надо?


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
maxipub
Дата 6.11.2014, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(SoWa @  6.11.2014,  12:02 Найти цитируемый пост)
Если доставить смс, иначе если доставить почтой, иначе если доставить в понедельник, иначе если доставить сейчас. А если доставить смской в понедельник?

Там не доставить сейчас или доставить в понедельник, а необходимость менеджеру перезвонить клиенту - сейчас или с понедельника. Смс и почта выполняются автоматически, звонки менеджера - человеком, это взаимоисключающие вещи в данном случае.

Добавлено через 5 минут и 10 секунд
Цитата(SoWa @  6.11.2014,  12:02 Найти цитируемый пост)
Не согласен про дело вкуса. Так же как выбор БД - это под конкретную задачу.

Ну это то же самое, что сказать что для города покупайте только седаны, а для села - только пикапы. Если я езжу по городу на внедорожнике, по-вашему, я уже не прав? smile  smile 
PM MAIL   Вверх
SoWa
Дата 6.11.2014, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Нет нет, я к тому, что вы знаете, что можно ездить на внедорожнике по городу, и знаете что говна месить на седане - не очень.
Так вот суть в том, что в программировании доступен любой "транспорт", и не очень разумно рассекать по городу на Toyota Surf с четырехлитровым турбодизелем.
В вашем понимании if/elseif - как раз такой внедорожник. Хардкорно. Можно сделать элегантнее, как Tesla.

А теперь предметно мое ИМХО(если вы не против слов "как сделал бы я". Если против - скижате, больше не буду).
1) Взаимоисключающие вещи в одном блоке кода - не круто. Разнести по разным методам. Например processNotification($_param['notification']) и processCallback($_param['callback'])
2) Не знаю как у вас сейчас в системе, но есть вероятность повторного использования кода в этих условиях. Соответственно выносим куски кода в методы notifyBySms, notifyByEmail, pushCallback
3) Просто на подумать, может понравится метод - вынести методы в HashTable. Примерно так:
Код

<?php
    function method1() {
        echo 'Method1';
    }

    $methodMap = array(
        'm1' => method1
    );
    $param = 'm1';
    $methodMap[$param]();
?>

Теперь вам не надо ни if, ни switch. Останется нарисовать только функцию отображения множества параметров в один параметр. Но это уже не круто тоже - совать туда разные куски логики )))


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
maxipub
Дата 6.11.2014, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(SoWa @  6.11.2014,  15:23 Найти цитируемый пост)
В вашем понимании if/elseif - как раз такой внедорожник. Хардкорно. Можно сделать элегантнее, как Tesla.

У каждого свое мнение. Опять же, я лучше напишу блок if(...), чем case и break. Как минимум - стоит взглянуть на отдельный if(...), и сразу понятно о чем идет речь. Просто не пойму, в чем принципиальная разница?


Вот написать

Код
$count = sizeof($_array);
for ($i = 0; $i ++; $i < $count)


Вместо

Код
foreach ($_array AS $val)


Это я понимаю не очень красиво. И то, можно оправдать. А настаивать на обязательном применении switch вместо if при сравнении одной переменной, ИМХО, не есть однозначно правильным решением.

Цитата(SoWa @  6.11.2014,  15:23 Найти цитируемый пост)
Взаимоисключающие вещи в одном блоке кода - не круто.

Я временами такое практикую. Странный стиль, и жесткий. Но если делается что-то монументальное, где логика не меняется или меняется редко, это круто. Принцип такой, что кормишь функции все однотипные операции и ни о чем дальше не паришься, она сама разберется что с чем. Я бы показал пример, чтобы было ясно о чем идет речь, но не стану, меня тут в порох сотрут за такое, чувствую)))

Цитата(SoWa @  6.11.2014,  15:23 Найти цитируемый пост)
"как сделал бы я"

Интересно, но мне такой код не нравится.

ЗЫ: я, кстати, в примерах специально писал жесткое сравнение === чтобы меня не начали свичами тыкать, которые используют ==, ан нет...

Код
<?php

$_param['notification'] = true;

switch ($_param['notification'])
{
    case 'sms':
        echo 'WHAT!? OOPS...OMG))';
    break;
    
    //...
}

?>


 smile  smile  smile  smile 
PM MAIL   Вверх
baldina
Дата 7.11.2014, 00:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  6.11.2014,  11:29 Найти цитируемый пост)
Вы скажете что это неправильный подход к проектированию, лишь бы оправдать применение switch!?

не-а. скорее всего не будет ни switch, ни if

Цитата(maxipub @  6.11.2014,  11:29 Найти цитируемый пост)
Я думаю, тут суть не столько в задаче, сколько в подходе.

неправильно думаете. к тому же в вашем случае "подход" это довольно странная догма, демонстрирующая отсутствие подхода.

Цитата(maxipub @  6.11.2014,  18:06 Найти цитируемый пост)
делается что-то монументальное, где логика не меняется или меняется редко

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

Цитата(maxipub @  6.11.2014,  18:06 Найти цитируемый пост)
в примерах специально писал жесткое сравнение

ну мы-то просто отвечали на вопрос. для нормального решения нужна конкретная задача, иначе это просто спор остроконечников и тупоконечников (заметьте, не мы его затеяли  smile ).
ЗЫ: а что, вы часто практикуете намеренное смешение типов? это еще тот OMG

насчет опроса (я в нем не участвовал, посчитав вопрос незначительным, но раз пошла такая пьянка...) 
if ... return vs if ... else при прочих равных имхо дело вкуса, все зависит от того как мыслит программист в данный момент. обычно это выражается глаголами и наречиями над существительными, которым соответствуют операторы и предикаты над переменными. ну, это если программист мыслит.
PM MAIL   Вверх
Aliance
Дата 7.11.2014, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Мне одному показалось логически не верным условие от нескольких разных аргументов? Фраза
Цитата(SoWa @  6.11.2014,  13:02 Найти цитируемый пост)
// Если доставить смс, иначе если доставить почтой, иначе если доставить в понедельник, иначе если доставить сейчас. А если доставить смской в понедельник? goto используете?       

тут весьма к месту.

Если уже и есть большая необходимость в такой логике, можно это сделать через побитовые операции.
PM MAIL WWW ICQ Skype   Вверх
SoWa
Дата 7.11.2014, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Aliance, уоу, не надо побитовых операций, человек и так весь на хардкоре  smile 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
sQu1rr
Дата 7.11.2014, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



Цитата(maxipub @  6.11.2014,  18:06 Найти цитируемый пост)
в примерах специально писал жесткое сравнение

А еще можно так  smile 
Код

switch(true) {
    case $_param['key'] === 'asdf':
        ...
        break;
    ...
}


PM MAIL Skype GTalk   Вверх
Aliance
Дата 7.11.2014, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



switch/true это буэ  smile 
PM MAIL WWW ICQ Skype   Вверх
_zorn_
Дата 7.11.2014, 17:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Понасобирались тут smile
А ТСу я предлагаю уйти в отпуск на год и более, а потом попробовать добавить функционал в свой код.
И он сам все поймет.
PM MAIL   Вверх
maxipub
Дата 7.11.2014, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(baldina @  7.11.2014,  00:37 Найти цитируемый пост)
 какие у вас способы преодоления сложности?

Лучше вам этого не знать. Легких путей не ищем. smile smile 

Цитата(baldina @  7.11.2014,  00:37 Найти цитируемый пост)
ЗЫ: а что, вы часто практикуете намеренное смешение типов? это еще тот OMG

Стараюсь без этого, но всякое бывает... Кстати, насчет смешения назрел еще один вопрос.

Если у нас некий целочисленный положительный $user_id, который при = 0 означает что это гость, иначе - зарегистрированный посетитель, вы напишите, так:

Код
if ($user)


Или будут всякие:

Код
if ($user != 0)


Код
if ($user > 0)


??? smile 

Цитата(_zorn_ @  7.11.2014,  17:45 Найти цитируемый пост)
А ТСу я предлагаю уйти в отпуск на год и более, а потом попробовать добавить функционал в свой код.

Спасибо за пожелание, в декабре как раз улетаю. Не на год, но на два месяца. smile 
PM MAIL   Вверх
baldina
Дата 7.11.2014, 18:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  7.11.2014,  17:58 Найти цитируемый пост)
Если у нас некий целочисленный положительный $user_id

у нас обычно 
Код

if ($user->isGuest())

для нелюбителей классов
Код

if (isGuest($user))

никаких $user >
и вообще вызывающей стороне про целочисленность id знать не положено
а в реализации
Код

const GUEST_ID=0;
...
if ($user->id == GUEST_ID)
...

PM MAIL   Вверх
bars80080
Дата 7.11.2014, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(maxipub @  6.11.2014,  10:54 Найти цитируемый пост)
В компании, где я работаю, разработчик только один, так что мне тут особо не с кем "собеседоваться"

могу только посочувствовать, сам был в такой ситуации несколько лет, как результат - стагнация мозга и полное отсутствие внутреннего развития.


Цитата(baldina @  7.11.2014,  18:16 Найти цитируемый пост)
у нас обычно 
Выделить всёкод PHP
1:
    
if ($user->isGuest())

о сколько нам открытий чудных откроет этот мир


в прошлом году меня наконец накрыло божественным откровением (не без участия доппрограммистов) и я вдруг за рассуждением по поводу "ленивой" загрузки дошёл до мысли всей мощи и великолепия ООП с его наследованием. (самому интересно, насколько я в этом продвинулся). теперь потихоньку клепаю ядро, которое позволит отказаться от работы с БД совсем (к сожалению, пока ещё приходится писать под старый код). не будет никаких выборок, чтений файлов, таблиц данных и сравнений параметров с числами или строками. только работа с реестрами (коллекциями) и объектами, и ни одного участка дублируемого кода. а потом, в случае обновления любой детальки - весь проект будет моментально принимать изменения...
надо мной просто радуга сияет, когдя я об этом думаю
PM MAIL WWW   Вверх
SoWa
Дата 7.11.2014, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



bars80080, ORM изобретаете? smile
Понимаю ваши чувства - когда три года назад пересел на Python+Django писать стало одно удовольствие smile

Это сообщение отредактировал(а) SoWa - 7.11.2014, 22:39


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
bars80080
Дата 8.11.2014, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(SoWa @  7.11.2014,  22:38 Найти цитируемый пост)
ORM изобретаете?

да, последняя попытка сделать свой велик. уже чисто из чувства неудовлетворённости
PM MAIL WWW   Вверх
_zorn_
Дата 8.11.2014, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Цитата(bars80080 @  8.11.2014,  04:24 Найти цитируемый пост)
дошёл до мысли всей мощи и великолепия ООП

Мое пожелание из той же кассы smile
Ну только не в отпуск уходил, а просто все работало и ладно (лет пять наверное). Когда понадобилось кое что переделать, я пришел в тихий ужас.
Тоже городил всякие ифы где попало...

Это сообщение отредактировал(а) _zorn_ - 8.11.2014, 06:17
PM MAIL   Вверх
maxipub
Дата 10.11.2014, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(bars80080 @  7.11.2014,  21:24 Найти цитируемый пост)
могу только посочувствовать, сам был в такой ситуации несколько лет, как результат - стагнация мозга и полное отсутствие внутреннего развития.

Все относительно. Могу, например, посочувствовать наемным работникам. Имел год подобного опыта в своей жизни. smile 

Цитата(bars80080 @  7.11.2014,  21:24 Найти цитируемый пост)
дошёл до мысли всей мощи и великолепия ООП

Да, мне тоже кажется что я что-то упускаю не используя ООП. Но видать я очень долго засиделся на Паскале. Еще лет 5 купил последнюю свою книгу по ООП (PHP: объекты, шаблоны и методики программирования, Мэтт Зандстра, 2-е издание), книга вообще атас, все расписано подробно и без воды. Раз около десяти начинал ее изучение, но пройдя страниц 100-150-200, начинал путаться в основе и приходилось начинать заново. Мой центральный могз не переваривает ООП и походу уже слишком стар для перепрошивки... smile 
PM MAIL   Вверх
baldina
Дата 10.11.2014, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  10.11.2014,  11:32 Найти цитируемый пост)
Мой центральный могз не переваривает ООП

почитайте Гради Буча

Добавлено через 2 минуты и 23 секунды
Цитата(maxipub @  10.11.2014,  11:32 Найти цитируемый пост)
уже слишком стар для перепрошивки

и все еще задается вопросами как писать if?
PM MAIL   Вверх
baldina
Дата 10.11.2014, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



maxipub, дело не в языковых средствах, т.к. они только инструмент. для его использования нужно созреть. а для этого - ум привести в порядок. Гради Буч для этого имхо вполне подходит.
но не ООП единым, есть и другие концепции - АОП, ФП и пр. все это можно в определенной мере использовать в любом императивном ЯП. Основной концепцией, вероятно, остается процедурная, т.к. остальные её эксплуатируют. я к тому, что паскалевских навыков должно быть достаточно для нормальной организации кода. кстати, наиболее распространенный пасакль - от борланда - с конца 80х имел ООП средства...
PM MAIL   Вверх
maxipub
Дата 10.11.2014, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(baldina @  10.11.2014,  12:40 Найти цитируемый пост)
и все еще задается вопросами как писать if?

А кто спросит что вкуснее, батон или черный хлеб - тот голодный бомж? smile 

Вопрос не в том как лучше писать, или как писать мне, а что из двух вариантов выбрали бы уважаемые господа.
PM MAIL   Вверх
baldina
Дата 10.11.2014, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



бомжи тут непричем, в моём высказывании нет издевки. вопрос о стиле, а стиль вырабатывается в первые годы программирования. впоследствии он может меняться, но уже без мучительных раздумий как красивее расставлять скобки, ибо на первый план выходят совсем другие вещи.
PM MAIL   Вверх
maxipub
  Дата 10.11.2014, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(baldina @  10.11.2014,  16:39 Найти цитируемый пост)
в моём высказывании нет издевки

Так в моем тоже.

Цитата(baldina @  10.11.2014,  16:39 Найти цитируемый пост)
но уже без мучительных раздумий как красивее расставлять скобки, ибо на первый план выходят совсем другие вещи

Я повторюсь. Вопрос был не в как лучше делать.

Это же не практический вопрос, скорее, психологический что ли. Или психический - как вам ближе. smile  Я спросил что вкуснее, дерево или бамбук, а меня как котенка начали мордой тыкать, мол питайся нормальной едой, что ты как баран... smile Я не предлагал ни кому ни деревом, ни бамбуком питаться. Просто спросил о мнении по такой странной вещи. Развели тут серьезных разговоров... smile 

Ладно, всем спасибо, тема исчерпала себя. smile 
PM MAIL   Вверх
SoWa
Дата 11.11.2014, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Цитата(maxipub @  10.11.2014,  17:35 Найти цитируемый пост)
Я спросил что вкуснее, дерево или бамбук, а меня как котенка начали мордой тыкать, мол питайся нормальной едой, что ты как баран...

Это же разумно. Если вы задаете такие вопросы - задавайте их вам подобным в соответствующей среде, где "кушают дерево и бамбук". На форумах по Joomla, кажется, полно таких дереволазов. Задавая вопрос в сообществе грамотных людей чего вы ожидаете? Их мнение как раз - "питайся нормально". Грамотные люди не "знают что вкуснее - дерево или бамбук" - им такого в голову не приходит.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Gold Dragon
Дата 12.11.2014, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(maxipub @  10.11.2014,  18:35 Найти цитируемый пост)
Это же не практический вопрос, скорее, психологический что ли.
А я по началу подумал тема будет скучной.. очень порадовала под конец рабочего дня, есть что почитать  smile 
Вопрос бред, но интересный... Правда не знаю как голосовать, уж очень мало вариантов, особенно когда знаешь ещё да и больше предложенных smile

PS
а зачем нужен return в первом варианте? или так: а почему во втором случае нет return ?  smile 



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 13.11.2014, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Gold Dragon @  12.11.2014,  17:10 Найти цитируемый пост)
PS а зачем нужен return в первом варианте? или так: а почему во втором случае нет return ?

В 1 варианте он нужен, чтобы оборвать выполнение дальнейших проверок. А во 2 варианте его нет - т.к. дальнейших проверок быть не может.

PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 14.11.2014, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Aliance, я к тому, что так категорично тут отрицалось использование switch 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
maxipub
Дата 14.11.2014, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(Gold Dragon @  14.11.2014,  08:47 Найти цитируемый пост)
так категорично тут отрицалось использование switch

:facepalm: речь шла о выборе меж двух. Не о том, как лучше делать.

Добавлено через 42 секунды
ЗЫ: зашел в тему чтобы вспомнить кого мне там советовали по ООП почитать, скоро будет немного свободного времени smile

Добавлено через 3 минуты и 21 секунду
Цитата(baldina @  10.11.2014,  12:40 Найти цитируемый пост)
почитайте Гради Буча

Буду заказывать книгу, не люблю из с экрана читать. Речь идет об "Объектно-ориентированный анализ и проектирование с примерами приложений" или что лучше взять, уточните, пожалуйста?
PM MAIL   Вверх
Gold Dragon
Дата 14.11.2014, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(maxipub @  14.11.2014,  13:49 Найти цитируемый пост)
речь шла о выборе меж двух. Не о том, как лучше делать.
да я понял smile 
Только на этот вопрос нельзя ответить... 

Вопрос: "Что бы ты выпил? Пиво или Чай?"
Ответ: "Когда? В пятницу вечером с друзьями или днём когда за рулём?"

Вопрос: "Что ты любишь? Арбуз или Мясо?"
Ответ: "Когда? Когда я голодный или когда хочется арбуз?"

Тоже выбор одного из двух... Есть некоторые вещи, которые просто не возможно выбрать без привязки с чему-то ещё.. 



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
baldina
Дата 14.11.2014, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  14.11.2014,  12:49 Найти цитируемый пост)
Речь идет об "Объектно-ориентированный анализ и проектирование с примерами приложений" или что лучше взять, уточните, пожалуйста? 

да. http://www.ozon.ru/context/detail/id/3905587/

PM MAIL   Вверх
maxipub
Дата 14.11.2014, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(Gold Dragon @  14.11.2014,  14:15 Найти цитируемый пост)
Есть некоторые вещи, которые просто не возможно выбрать без привязки с чему-то ещё..

Ну, пиво или чай - вещи взаимоисключающие, из разных плоскостей. Тут скорее кофе со сливками или с корицей. И не важно, что человек любит кофе без ничего - мне был интересен просто выбор из двух на уровне чувств что-ли. smile 

baldina, спасибо! Пойду искать где заказать. smile 
PM MAIL   Вверх
maxipub
Дата 19.11.2014, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Найти было не просто. Нашел, заказал, сегодня получил. Объемы впечатлили. smile Будем познавать... smile спасибо!
PM MAIL   Вверх
baldina
Дата 19.11.2014, 19:57 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



ок, ждем новых тем  smile 
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1007 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.