Skip to content

Corrige code-smells da classe `StyledNewEssayMenu` (#25)

Fabio de Andrade Barboza requested to merge code-smell/StyledNewEssayMenu into develop

Descrição

O método StyledNewEssayMenu possuía o code-smell long method, que foi removido utilizando-se a técnica extract method.

O método originalmente estava no seguinte estado:

public function render_menu(): void
{
    if (array_key_exists('redacao-submit', $_POST)) 
    {
        // Regras de negócio
    }
    

    // Código `HTML`
}

O código HTML foi extraído para dois arquivos diferentes:

  • views/styled-new-essay-view.php
  • css/styled-new-essay.css

Um novo método foi criado para permitir o processamento do arquivo css/styled-new-essay.css, e o código HTML dentro do método render_menu foi substituído pela importação do arquivo views/styled-new-essay-view.php, resolvendo assim a task #26 (closed). O código como encontra-se atualmente está exposto abaixo:

public function enqueue_scripts(): void
{
    wp_enqueue_style('new-essay-style', plugin_dir_url(__FILE__) . 'css/styled-new-essay.css', array());
}

public function render_menu(): void
{
    if (array_key_exists('redacao-submit', $_POST)) 
    {
        // Regras de negócio
    }
    
    include_once(plugin_dir_url(__FILE__) . 'views/styled-new-essay-view.php');
}

É notável que o método render_menu ainda encontra-se muito extenso. De fato, as regras de negócio também serão extraídas no futuro, conforme descrito na task #27 (closed). Com isso, a issue #25 (closed) estará completamente resolvida. O código da classe StyledNewEssayMenu terá a seguinte forma:

public function enqueue_scripts(): void
{
    wp_enqueue_style('new-essay-style', plugin_dir_url(__FILE__) . 'css/styled-new-essay.css', array());
}

public function render_menu(): void
{   
    include_once(plugin_dir_url(__FILE__) . 'views/styled-new-essay-view.php');
}

Referências

OBS

O merge request encontra-se como draft até que a task #27 (closed) seja concluída.

Merge request reports