Дванадесетопръстник (software)

от Всичко за 1 лев, свободната енциклопедия

(Разлики между версиите)
Версия от 09:40, 26 мар 2014
Kmeta (Беседа | приноси)
Примери
← Go to previous diff
Текуща версия
Sashakiss (Беседа | приноси)

Ред 15: Ред 15:
'''case''' 8: result = 64; '''break'''; '''case''' 8: result = 64; '''break''';
'''case''' 9: result = 81; '''break'''; '''case''' 9: result = 81; '''break''';
- '''default: result = '''null'''; '''break''';+ '''default''': result = '''null'''; '''break''';
} }
'''return''' result; '''return''' result;
Ред 55: Ред 55:
* [[Светлин_Наков]] * [[Светлин_Наков]]
* [[Кибертрон]] * [[Кибертрон]]
 +
 +
 +[[Категория: ИТ]]

Текуща версия

Дванадесетопръстник е специален вид черва. Представлява фрагмент от код, съставен предимно от оператори за разклонение (if,switch,case), целящ изпълнението на операция, която иначе има чисто аналитичен характер и може да бъде реализирана по много по-прост и универсален начин. Наличието на дванадесетопръстници в кода говори много показателно за знанията и уменията на разработчика.

Примери

/* C */
int function pow2(int a){
    int result;
    switch(a){
        case 1: result = 1; break;
        case 2: result = 4; break;
        case 3: result = 9; break;
        case 4: result = 16; break;
        case 5: result = 25; break;
        case 6: result = 36; break;
        case 7: result = 49; break;
        case 8: result = 64; break;
        case 9: result = 81; break;
        default: result = null; break;
    }
    return result;
}

Очевидно е в случая, че резултатът може да бъде постигнат с едно просто return a*a;.


/* PHP */
try{
    $id = $_GET['id'];
}catch(Exception $e){}

if($id==1){
    $qry = "select * from `users` u where u.`active`='yes' and u.`id` in (1);";
}
if($id==2){
    $qry = "select * from `users` u where u.`active`='yes' and u.`id` in (2);";
}
if($id==3){
    $qry = "select * from `users` u where u.`active`='yes' and u.`id` in (3,4);";
}
if($id==5){
    $qry = "select * from `users` u where u.`active`='yes' and u.`id` in (5,6);";
}
if($id==10){
    $qry = "select * from `users` u where u.`active`='yes' and u.`id` in (7,8,9,10);";
}

if(isset($qry)){
    mysql_query($qry,$db);
}

Понякога самата клиентска логика, както се вижда по-горе, е прекалено специфична и налага използването на дванадесетопръстник. Важно обаче е да се спазват добрите практики в програмирането и да се взимат предвид възможните проблемни ситуации (напр. с try и catch).

Прочети още

Лични инструменти