php变量和数组还是直接代码?
我正在使用代码点火器 我有一个相当大的项目清单,通过邮寄发送,一些将被设置,一些不会 我有两种方法来解决同一个问题php变量和数组还是直接代码?,php,coding-style,variable-variables,Php,Coding Style,Variable Variables,我正在使用代码点火器 我有一个相当大的项目清单,通过邮寄发送,一些将被设置,一些不会 我有两种方法来解决同一个问题 /*DYNAMIC CODING */ $fields = array( 'field1', 'field2', 'field3', 'field4', 'field5', 'field6', 'fiel'... ...); foreach($fields as $f) $$f = $this->input->post($f); /* OR L
/*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->...
这两种方法都可以,我的问题是,是否有理由使用一种方法而不是另一种方法?如果使用一种方法(例如eclipse),在IDE中使用变量自动完成时,文字编码可能会更好地工作
否则,无论您喜欢什么样式,在IDE中使用变量autocomplete时,如果您使用一种(例如eclipse),文字编码可能会工作得更好
否则,根据我的经验,无论您喜欢什么样式,都可以使用动态编码,因为这是我个人的偏好 如果你的偏好是其中之一,那么使用你觉得合适的任何东西,如果你是用其他人编辑代码的方式编码的,无论你选择什么,确保你添加
// a comment
来解释你的代码。使用这两种方法都会在处理时间上相差极小的毫秒,但从长远来看,理解代码并正确地对其进行注释将为您节省远远超过毫秒的时间 根据我的经验,使用动态编码,因为这是我个人的偏好 如果你的偏好是其中之一,那么使用你觉得合适的任何东西,如果你是用其他人编辑代码的方式编码的,无论你选择什么,确保你添加
// a comment
来解释你的代码。使用这两种方法都会在处理时间上相差极小的毫秒,但从长远来看,理解代码并正确地对其进行注释将为您节省远远超过毫秒的时间 文字编码可能有一点性能优势(因为动态代码首先生成一个数组,然后在其上循环) 但对我来说,动态代码更像我们说话和思考的方式。你不会说“今天我去了杂货店,然后我去了保龄球馆,然后我去了我朋友的家”,你会说“今天我去了杂货店,保龄球馆和我朋友的家。”此外,动态代码它的详细程度大大降低,从而减少了对大量代码进行检查的愚蠢需要(有了阵列,一旦你看到一个图案,你就知道里面会有什么),你可以立即看到发生了什么,它看起来就更好了
然而,这实际上取决于你如何编码。有些人完全不同意我说的话,有些人也会同意。如果你能更轻松地看到长的重复行,那就去做吧。但无论你做什么,不要忘记最重要的编码最佳实践:注释。文字编码可能对性能有一点好处(因为动态代码首先生成一个数组,然后在其上循环。) 但对我来说,动态代码更像我们说话和思考的方式。你不会说“今天我去了杂货店,然后我去了保龄球馆,然后我去了我朋友的家”,你会说“今天我去了杂货店,保龄球馆和我朋友的家。”此外,动态代码它的详细程度要低得多,这减少了对大量代码行进行检查的愚蠢需要(使用数组,一旦看到模式,您就知道其中将包含什么),您可以立即看到正在发生的事情,而且看起来更好
但这实际上取决于你如何编码。有些人会完全不同意我所说的,有些人会同意。如果你能轻松一点看到长的重复行,那就去做吧。但不管你做什么,不要忘记最重要的编码最佳实践:注释。你应该使用第一个选项,带有一个值数组和一个循环,sim因为这些变量将来可能会发生变化,更新数组比更新多行代码要简单得多
我还想您也需要在其他地方引用这些字段名。您应该使用第一个选项,使用一个值数组和一个循环,因为这些变量可能在将来某个时候会发生变化,更新数组比更新多行代码要简单得多
我还想你也需要在其他地方引用这些字段名。我不明白的是,创建所有这些变量的意义是什么?@Jani Hartikainen嗯,它们来自一个post请求……我必须假设你不直接使用post数组,是吗?…@Jani Hartikainen也接受n请注意,这些字段实际上并没有调用fieldx,例如,它们可以是
uid、uname、fname、lname、doby、dobm、dobd,…
这些名称只是示例,否则我将使用for()
loop。好的,我认为它们只是任意命名的字段。如果它们实际上是以某种合理的方式命名的,那么这样做可能是有意义的。这个例子实在太局限了,无法进行更深入的讨论,但这不是问题所在,所以我就到此为止:)我不明白的是,创建所有这些变量的意义何在?@Jani Hartikainen好吧,它们来自一个post请求……我必须假设您不直接使用post数组,是吗?@Jani Hartikainen还注意到,字段arn实际上不称为fieldx,它们可以是uid,uname,fname,lname,doby,dobm,dobd,…
这些名称只是示例,否则我只会使用for()
loop。好的,我认为它们只是任意命名的字段。如果它们实际上是以某种合理的方式命名的,那么这样做可能是有意义的。这个例子实在太局限了,无法进行更深入的讨论,但这不是问题所在,所以我就到此为止:)如果大多数代码都是通过精确的短函数和命名良好的变量来表达的,我不同意注释的重要性。看到注释后的代码$字段,我会很不高兴