Это хорошая практика для переименования аргументов при передаче их методам? - PullRequest
0 голосов
/ 09 марта 2019

Я недавно получил этот код от моего разработчика и нашел его очень запутанным. То, как он передает аргументы и затем переименовывает их в методах, делает код более сложным для чтения. Я трачу много времени, просто пытаясь выяснить, что такое $ block_options и откуда он берется. В первом методе он определяет переменную $ settings , а затем передает его методу _start_block , и он все еще называется $ settings . Но затем он передает его следующему методу _ajax_param , а затем имя переменной меняется на $ block , которое затем он сохраняет в $ block_options . Так что $ settings становится $ block_options .

Является ли это хорошей практикой для переименования аргументов при передаче их через методы, как это?

Исходный код является более сложным и включает больше кода внутри методов, что делает его более запутанным. Вот упрощенная версия кода:

protected function render() {
    $settings = $this->get_settings_for_display();    
    $data = $this->_fetch_query_data( $settings );

    $output  = '';
    $output .= $this->_start_block( $settings, $data );

    echo $output;
}


protected function _start_block( $settings, $data = null ) {

    $ajax_param      = '';

    if ( ! empty( $data ) && is_object( $data ) ) {
        $ajax_param = $this->_ajax_param( $settings, $data );
    }

    $output = '';

    $output .= '<div id="' . esc_attr( $settings['block_id'] ) . '" class="content-section section-recent-news tab-post" ' . esc_attr( $ajax_param ) . '>';
    $output .= '<div class="recent-news-inner">';

    return $output;
}

protected function _ajax_param( $block, $data_query ) {

    //check
    if ( empty( $block ) || empty( $block['block_id'] ) ) {
        return false;
    }

    $param                    = array();
    $block_options            = $block;
    $param['data-block_id']   = $block['block_id'];

    //post per page
    if ( ! empty( $block_options['posts_per_page'] ) ) {
        $param['data-posts_per_page'] = $block_options['posts_per_page'];
    }

    return $param
}
...