如何制作更美化的代码?

时间:2017-05-25 08:17:42

标签: php

当我必须预先声明数组public function convertIdStringToMongoID($array_id = array()) { $keys = []; foreach ($array_id as $k => $id) { $keys[] = new \MongoId($id); } return $keys; } 时,我在某些类中有很多代码:

<div id="grid1" ui-grid="$ctrl.gridOptions" class="grid" ui-grid-auto-resize style="{{$ctrl.getTableHeight()}}"></div>

getTableHeight() {
    var offsetValue = 365;
    return "height: " + parseInt(window.innerHeight - offsetValue ) + "px!important";
}

现在看起来很好,如何让这更美丽?

2 个答案:

答案 0 :(得分:3)

根据this docs可以尝试映射你的数组,如下所示:

public function convertIdStringToMongoID($array_id = array())
{
   $func = function($id) {
       return new \MongoId($id);
   };
   return array_map($func, $array_id);
}

或者根据this example,例如:

public function convertIdStringToMongoID($array_id = array())
{
   return array_map(array($this, 'to_id'), $array_id);
}

private function to_id($id) {
  return new \MongoId($id);
}

这两个例子都使用函数式编程方法。

答案 1 :(得分:1)

您发布的代码干净而且快速。您可以使用array_map()anonymous function

以更紧凑的方式编写它
Gmail

有些人可能认为它更漂亮,有些人会说这样阅读和理解它会稍微困难一些 两者都同意此版本的执行时间略长于您的版本。但是,差异并不显着,还有其他地方可以搜索优化(访问磁盘和外部资源,数据库查询,Mongo等)。