переменные php и массив или прямой код? - PullRequest
0 голосов
/ 19 апреля 2011

Я использую воспламенитель кода.

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

У меня есть два подхода кта же проблема.

/*DYNAMIC CODING */

$fields = array(
  'field1', 'field2',
  'field3', 'field4',
  'field5', 'field6',
  'fiel'... ...);

foreach($fields as $f)
  $$f = $this->input->post($f);

/* OR LITERAL CODING? */

  $field1 = $this->input->post('field1');
  $field2 = $this->input->post('field2');
  $field3 = $this->input->post('field3');
  $field4 = $this->input->post('field4');
  $field5 = $this->input->post('field5');
  $field6 = $this->input->post('field6');
  $field7 = $this->...

Оба метода будут работать, мой вопрос: есть ли причина использовать один над другим?

Ответы [ 4 ]

4 голосов
/ 19 апреля 2011

Используйте динамическое кодирование в моем опыте, потому что это мое личное предпочтение.

Если вы предпочитаете то или другое, то используйте то, что вам удобно, если вы кодируете с помощью кого-то другогоредактируя код, что бы вы ни выбрали, обязательно добавьте;

// a comment

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

1 голос
/ 19 апреля 2011

Буквальное кодирование может иметь небольшое преимущество в производительности (так как динамический код сначала генерирует массив, а затем циклически обрабатывает его).

Но для меня динамический код больше похож на то, как мы говорим и думаем. Вы не говорите: «Сегодня я пошел в продуктовый магазин, а затем я пошел в боулинг, а затем я пошел в дом моего друга», вы говорите: «Сегодня я пошел в продуктовый магазин, боулинг и дом моего друга». Кроме того, динамический код гораздо менее многословен, что уменьшает глупую необходимость просматривать множество строк кода (с массивом вы знаете, что будет в нем, как только увидите шаблон), вы можете сразу увидеть, что происходит, и это выглядит лучше.

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

1 голос
/ 19 апреля 2011

буквальное кодирование может работать лучше, если переменная автозаполнения работает в вашей IDE, если вы используете ее (например, eclipse)

иначе, какой бы стиль вы ни предпочли

0 голосов
/ 19 апреля 2011

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

Я бы также предположил, что вам нужно ссылаться на эти имена полей где-нибудь еще по пути.

...