Skip to content

Código duplicado (parte 1)

Código duplicado en una misma clase

Es frecuente -y de lo más común-, que las mismas expresiones, comiencen a duplicarse en diferentes métodos de una misma clase:

php
static function method_1() {
    self::$property = strip_tags(self::$property);
    self::$property = htmlentities(self::property);
    return self::methodA() . self::$property;
}

static function method_2() {
    self::$property = strip_tags(self::$property);
    self::$property = htmlentities(self::property);
    return self::$property . self::methodB() . self::methodC();
}

Las expresiones duplicadas en el código de los diferentes métodos de una misma clase, se solucionan extrayendo el código duplicado de los métodos, y colocándolo en un nuevo método de clase:

php
static function method_1() {
    self::method_3();
    return self::methodX() . self::$property;
}

static function method_2() {
    self::method_3();
    return self::$property . self::metodoY() . self::metodoZ();
}

static function method_3() {
    self::$property = strip_tags(self::$property);
    self::$property = htmlentities(self::property);
}