Дванадесетопръстник (software)
от Всичко за 1 лев, свободната енциклопедия
(Разлики между версиите)
| Версия от 09:36, 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; | ||
| Ред 48: | Ред 48: | ||
| } | } | ||
| - | Понякога самата клиентска логика, както се вижда по-горе, е прекалено специфична и налага използването на ''дванадесетопръстник''. Важно обаче е да се спазват [[добрите практики в програмирането|Добри практики в програмирането]] и да се взимат предвид възможните проблемни ситуации (напр. с ''try'' и ''catch''). | + | Понякога самата клиентска логика, както се вижда по-горе, е прекалено специфична и налага използването на ''дванадесетопръстник''. Важно обаче е да се спазват [[Добри практики в програмирането|добрите практики в програмирането]] и да се взимат предвид възможните проблемни ситуации (напр. с ''try'' и ''catch''). |
| == Прочети още == | == Прочети още == | ||
| Ред 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).
