【问题标题】:How can we optimize these lines of code?我们如何优化这些代码行?
【发布时间】:2016-01-13 13:56:08
【问题描述】:

我想知道有什么方法可以优化代码行。我知道我们可以在第一个 try 块中写另一个 $row[] = $this->getFields($inputHeaders, $result, $fields['row2']);。但我仍然想知道是否有任何其他方法可以减少这些代码行或任何更好的方法

try {
        $row[] = $this->getFields($inputHeaders, $result, $fields['row1']);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }

    // Get data for first row.
    try {
        $row[] = $this->getFields($inputHeaders, $result, $fields['row2']);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }

【问题讨论】:

  • 您真正尝试优化什么?执行时间处理时间?内存消耗?过早的优化是万恶之源
  • 优化并不是一个真正合适的 SO 主题。代码审查更适合这种情况,但即便如此,您至少需要包含getFields 方法的定义,并阐明optimize 的含义 - 执行速度更快?更容易阅读?只是更少的行/字符?

标签: php arrays try-catch


【解决方案1】:

假设它被问及重构,而不是优化,我给出以下答案:

$rowNames = array('row1', 'row2');

foreach ($rowNames as $rowName) {
    try {
        $row[] = $this->getFields($inputHeaders, $result, $fields[$rowName]);
    } catch (BAS_Shared_InvalidArgumentException $e) {
        $logger->err($e->getMessage());

        return false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2016-01-01
    相关资源
    最近更新 更多