0

我正在使用代码点火器。

我有很多通过邮件发送的物品清单,有些会设置,有些不会。

我有两种方法可以解决同一个问题。

/*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 回答 4

4

根据我的经验使用动态编码,因为这是我个人的偏好。

如果您的偏好是其中一个,那么请使用您觉得舒服的任何内容,如果您正在使用其他人编辑代码的方式进行编码,那么无论您选择什么,请确保添加;

// a comment

解释你的代码。使用其中任何一种都会在处理时间上产生细微的毫秒差异,但从长远来看,理解您的代码并正确注释它将为您节省超过毫秒的时间!

于 2011-04-19T01:01:13.423 回答
1

当变量自动完成在你的IDE中工作时,文字编码可能会更好,如果你使用一个(比如eclipse)

否则,无论你喜欢什么风格

于 2011-04-19T00:56:39.040 回答
1

文字编码可能对性能有一点好处(因为动态代码首先生成一个数组,然后循环遍历它。)

但对我来说,动态代码更像是我们说话和思考的方式。你不会说“今天我去了杂货店,然后我去了保龄球馆,然后我去了朋友家”,而是说“今天我去了杂货店、保龄球馆和朋友家”。此外,动态代码不那么冗长,减少了审查大量代码行的愚蠢需求(使用数组,一旦看到模式,您就知道其中会发生什么),您可以立即看到发生了什么,它看起来更好。

然而,这实际上取决于您如何编码。有些人会完全不同意我说的话,有些人会同意。如果看到长长的重复线条,您可以更轻松地呼吸,那就去做吧。但无论你做什么,都不要忘记最重要的编码最佳实践:评论。

于 2011-04-19T01:02:21.707 回答
0

您应该使用第一个选项,带有一个值数组和一个循环,因为这些变量可能会在将来的某个时间发生变化,并且更新数组比更新多行代码要简单得多。

我还猜想您还需要在其他地方引用这些字段名称。

于 2011-04-19T01:36:03.990 回答