Reglas para código mas simple en php

No abreviar código

// Malo
class Trnsltr { }

// Bueno
class Translator { }
// Malo
foreach ($x in $people) {
    $x->name
}

// Bueno
foreach ($person in $people) {
    $person->name
}
// Esta bien
$id = 0;

// Innecesario debido a que id es ampliamente usado
$identificator = 0;
class UserRepository {

    // No hay mucho contexto de como
    // funciona por el nombre del método.
    public function fetch($billingId) {

    }

    // Deja claro por que tipo de id obtiene los datos.
    public function fetchByBillingId($id) {

    }

}
class Order {

    // Método que necesita ser refactorizado.
    public function prepAndShipAndNotifyUser()
    {
        # code...
    }
}
/**
 * Clase que al declarar un método parece todo correcto
 * pero que al usarlo se ve un poco redundante.
 */
class Order
{
    function shipOrder()
    {

    }
}

$order->shipOrder();

/**
 * Cambiando un poco el nombre del método
 * aun es comprensible y sin redundancias.
 */
class Order
{
    function ship()
    {

    }
}

$order->ship();

No usar else (Code Smell)

/**
 * Método con un uso innecesario de else.
 */
public function store()
{
    $input = Request::all();
    $validation = Validator::make($input, ['username' => 'required']);

    if (date('l') !== 'Friday')
    {
        if ($validation->passes())
        {
            Post::create($input);
            return Redirect::home();
        }
        else
        {
            return Redirect::back()->withInput()->withErrors($validation);
        }
    }
    else
    {
        throw new Exception('No trabajamos en Viernes!!!');
    }
}
/**
 * Cambiando un poco el orden de validaciones se pudo quitar todos los else.
 */
public function store()
{
    $input = Request::all();
    $validation = Validator::make($input, ['username' => 'required']);

    if (date('l') == 'Friday')
    {
        throw new Exception('No trabajamos en Viernes!!!');
    }

    if ($validation->fails())
    {
        return Redirect::back()->withInput()->withErrors($validation);
    }

    Post::create($input);
    return Redirect::home();

}

Code smell (código que huele mal)

/**
 * Código con problemas de "Code smell".
 */
function signUp($subscription)
{
    if ($subscription == 'monthly')
    {
        $this->createMonthlySubscription();
    }
    else if ($subscription == 'forever')
    {
        $this->createForeverSubscription();
    }
}
/**
 * Problema solucionado con patrones de diseño y polimorfismo.
 */
function signUp(Subscription $subscription)
{
    $subscription->create();
}

/**
 * Código en alguna otra clase.
 */
function getSubscriptionType($type)
{
    if (type == 'forever')
    {
        return new ForeverSubscription;
    }

    return new MonthlySubscription;
}

$subscription = getSubscriptionType($type);
signUp($subscription);