За последние 24 часа нас посетили 20714 программистов и 1106 роботов. Сейчас ищут 383 программиста ...

Этика использования массивов

Тема в разделе "Прочие вопросы по PHP", создана пользователем FromWorm, 20 фев 2015.

  1. FromWorm

    FromWorm Новичок

    С нами с:
    20 фев 2015
    Сообщения:
    15
    Симпатии:
    0
    На ваш взгляд, стоит ли использовать массивы ( многомерные ) для внутри-структурной передачи данных между компонентами в довольно приличном количестве? Этично ли в данном случае использовать объекты и классы (являющимися уже упакованными в них пакетами данных). У меня есть своя точка зрения и представленные варианты решений удобно использовать, но с точки зрения философии - что этичнее и правильнее будет в таком случае с вашей точки зрения?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    внутри одного процесса?
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Программирование не про философию и этику. Оно про логику. Что логичнее использовать в конкретно взятом случае, то и нужно использовать. Логичность определяется тем, насколько удобно потом оперировать передаваемыми данными, насколько нас удовлетворяет скорость работы. Порой, например, выгоднее использовать не многомерные массивы, а большой одномерный, где навигация осуществляется не через натуральные индексы, а через синтетические.

    К примеру, такая структура:
    [0][0]=a
    [1][0]=b
    [1][1]=c
    [2][0]=d

    Удобнее для понимания и использования.
    Но такая:
    [0*0]=a
    [1*0]=b
    [1*1]=c
    [2*0]=d

    Будет расходовать в 2 с небольшим(из-за особенностей массивов конкретно в пыхе) раза меньше памяти.
    И работать, точно не скажу на сколько, но быстрее. Когда-то замеры проводил, сейчас не нарою, а заново делать лень.
    Но по такой структуре сложнее бегать. Ей не так удобно оперировать.

    Использование объектов-коллекций (которых, по умолчанию, в пыхе нет, как и структур, если не брать в рассчет spl-костылики лалала), тоже вариант.

    Что использовать? Что хотите. И как хотите. Это инженерия. Отталкиваться нужно от задачи, а не от мировоззрения и философии.
     
  4. FromWorm

    FromWorm Новичок

    С нами с:
    20 фев 2015
    Сообщения:
    15
    Симпатии:
    0
    Да, внутри одного процесса.
    ---
    Я не зря упомянул этику подхода. При разработке языка, еще в самом начале, человек подходил к этому как к инструменту который будет удобен и будет решать свои проблемы, а значит с самого начала имел свою точку зрения, свою философию, религия тут совершенно не причем вообще. Я заметил что с возрастом разработчики более четко определяют концепцию и следуют стандартам, в отличии от новичков. Сидел общался с профессором технических наук, посмотрел код, так для него там каждая скобка важна и то где она должна стоять, т.е очень граммотный подход, в данном случае экономия ресурсов и удобство важны, я услышал вашу точку зрения. Дело в том, что когда разработчик доходит до определенного уровня, он понимает что не хочет писать абы что, для него важна максимальная эффективность, граммотный подход, следование стандартам хотя бы по минимуму, из чего в дальнейшем вытекает возможность поддержки кода, рефакторинга и понимание его другими разработчиками.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    тогда вообще плевать как и что.

    не, либо экономия ресурсов и массивы гонять, либо удобство и объекты гонять. В массивы лучше не пихать код, хотя это тоже возможно, к сожалению.

    Вобщем, если это просто данные, то удобнее массивы.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Как со всем вышесказанным связано слово "этика"? Причем тут вообще это? Программирование - это точный предмет. А не эзотерико-абстрактный, где можно растекаться мыслью по древу.

    Что этичнее, использовать крестовую отвертку или плоскую? С точки зрения философии, разумеется.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Не говори так!
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Этика ;))) Круто, мне нравится. Этично ли писать такой код, который другие программисты будут разбирать с матами? ;)
    А что, очень в тему.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Этика и эстетика программирования, том шестой, страница пятьсот восьмая.
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Ещё PSR есть, как рекомендации