我正在使用代码点火器。
我有很多物品通过邮寄发送,有些会被设定,有些会不会。
我有两种方法可以解决同样的问题。
/*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->...
这两种方法都有用,我的问题是,有没有理由使用其中一种?
答案 0 :(得分:4)
根据我的经验使用动态编码,因为这是我个人的偏好。
如果您的偏好是其中之一,那么请使用您认为合适的任何内容,如果您使用其他人编辑代码的方式进行编码,则无论您选择什么,请确保添加;
// a comment
解释你的代码。使用其中任何一个都会使处理时间与最小的不明显的毫秒数不同,但是从长远来看,理解你的代码并正确地评论它将为你节省超过几毫秒的时间!
答案 1 :(得分:1)
当你在IDE中使用变量自动完成功能时,文字编码可能会更好,如果你使用它(比如eclipse)
否则,你喜欢哪种风格
答案 2 :(得分:1)
文字编码可能具有较小的性能优势(因为动态代码首先生成一个数组,然后在其上循环。)
但对我而言,动态代码更像是我们的谈话和思考方式。你没有说“今天我去了杂货店然后我去了保龄球馆然后去了我朋友的家”,你说“今天我去了杂货店,保龄球馆和我朋友的家。”此外,动态代码更简洁,减少了查看大量代码行的愚蠢需求(使用数组,一旦看到模式就会知道它会是什么),你可以立即看到发生了什么,它看起来更好。
但这实际上取决于你的编码方式。有些人会完全不同意我说的话,有些人会同意。如果你能够轻松地看到长重复的线条,那就去吧。但无论你做什么,都不要忘记最重要的编码最佳实践:评论。
答案 3 :(得分:0)
你应该使用第一个选项,带有一个值数组和一个循环,因为这些变量将来可能会改变,更新数组要比更新多行代码简单得多。
我还猜你还需要在路上的其他地方引用这些字段名称。