提炼函数

未匹配的标注

重构动机

当看见一个过长的函数或者一段需要注释才能让人理解用途的代码时,将这段代码放进一个独立的函数,并且将函数用途(不是函数实现手法)声明为函数名称。

重构前

<?php

namespace app\controller;

class Index
{
    // 打印有颜色的 span
    public function printColoredSpan($color)
    {
        $color_span = '';
        if ($color == 'green') {
            $color_span = '<span style="color:green"></span>';
        } elseif ($color == 'red') {
            $color_span = '<span style="color:red"></span>';
        } elseif ($color == 'black') {
            $color_span = '<span style="color:black"></span>';
        }
        dump($color_span);
    }
}

重构后

<?php

namespace app\controller;


class Index
{
    // 打印有颜色的 span
    public function printColoredSpan($color)
    {
        $color_span = $this->getColoredSpan($color);
        dump($color_span);
    }

    // 获取有颜色的 span
    public function getColoredSpan($color)
    {
        $color_span = [
            'green' => '<span style="color:green"></span>',
            'red'   => '<span style="color:red"></span>',
            'black' => '<span style="color:black"></span>',
        ];
        return $color_span[$color];
    }
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 查看所有版本


暂无话题~