I forgot to remove debug code and updated last changes to production

Sometimes you need to debug some code and you do something like this

if ($service->canBeUpdated()) {
    // $service->canBeUpdated returns false 
    // and you need to debug this place 
}

// and you do simple (very simple) stub
if (true || $service->canBeUpdated()) {
}

😀 ooh everything works and you can easily debug this place. You’ve finished with that task and did some other tasks and finally updated everything to live.

Oh crap.. I forgot to remove debug code and updated last changes to production (or some customer complains that smth is wrong and this is even worst)

So I use this simple component in order to prevent such situations. Because to be honest I faced with such problems not one time.

<?php
 
/**
 *
 * User: radzserg
 * Date: 3/6/12
 */
  
class App_Debug
{
 
    /**
     * @static
     * @param $val
     * @return bool
     */
    public static function alwaysTrueForDebug($val)
    {
        if (APPLICATION_ENV == 'development') {
            return true;
        } else {
            return $val;
        }
    }
 
    public static function setVarForDebug(&$var, $value)
    {
        if (APPLICATION_ENV == 'development') {
            $var = $value;
        }
    }
 
}
// Now I can do it in this way 
if (App_Debug::alwaysTrueForDebug($service->canBeUpdated)) {
// or
App_Debug::setVarForDebug($user['state'], 'active')
 
// first expression will be true and $user['state'] will be set 
// if only APPLICATION_ENV == 'development'

Leave a Reply

Your email address will not be published. Required fields are marked *