- 1
- 2
- 3
- 4
if (flash.net.getClassByAlias("foo.bar.VO") == null){
flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO);}
} catch (e:Error) {
flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO); }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−190.8
if (flash.net.getClassByAlias("foo.bar.VO") == null){
flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO);}
} catch (e:Error) {
flash.net.registerClassAlias("foo.bar.VO", foo.bar.VO); }
Так во флексовом фреймворке регистрируются алиасы для RPC классов... Нелогичность ситуации не сразу очевидна, поэтому опишу:
При загрузке модулей может возникнуть ситуация, когда алиас уже зарегистрирован для другого класса, поэтому нужно проверить, а не был ли алиас зарегистрирован раньше. Иначе, его нужно зарегистрировать. Исторически, этой проверки сначала не было, данный код - это фикс вышеописаной проблемы. Пытаясь разобраться, что же все-таки случилось - скорее всего "писатель" не подозревал, что getClassByAlias() не может вернуть null - а выяснил он это, когда код вывалился с ошибкой, вот он не долго думая завернул это все в try-catch...
Из мелких деталей: в рамках AS3 сравнение сложных типов с null - бессмысленная, и более того вредная операция, т.как выражение в условии всегда кастуется к Boolean, и компилятор не умеет делать оптимизации для таких случаев.
+56.3
/*
Данный кусок кода был сперт uncle Lem'ом из небесной канцелярии 27.02.2008
*/
#include<time.h>
#include<stdlib.h>
#include<iostream.h>
#include"russian.h"
void world();
void main() {
srand(time(0));
world();
}
void world() { /*void (пустота) указывает на безвыходность ситуации*/
const bool good = false, /*Объективная реальность, данные получены на основе личного опыта*/
evil = !good; /*ну, это логично... зло - это НЕ добро*/
/*пока рай... добро, зло и инфернальность - по нулям, армагеддон пока не светит*/
unsigned long int evil_level = 0; /*Зло - в минуса не уйдет. Факт*/
short int good_level = 0; /*добро - сильно не вырастет. Не дадут*/
int infernal = 0; /*Инфернальность. ПОКА ноль. Позаимствовано у Ефремова*/
int years = 0; /*начинается жизнь на Земле*/
int people_resources = 0; /*человеческие ресурсы (для Армагеддона)*/
int evil_resources = 0; /*ресурсы сил зла (для Армагеддона)*/
while(evil) { /*пока существует зло...*/
years++; /*и годы идут...*/
if (evil && !good) { /*если в текущем году было зло и не было добра*/
infernal += evil_level++; /*инфернальность растет на уровень зла, которое, в свою очередь, становится сильнее*/
good_level--; /*а добро слабеет под натиском зла*/
}
else if (evil && good || !evil && !good) { /*если в текущем году было добро и зло или ни того, ни другого*/
infernal = infernal; /*инфернальность остается на том же уровне (да, тупо, зато наглядно)*/
}
else if (!evil && good) { /*если в текущем году было добро и не было зла*/
infernal -= good_level++; /*инфернальность уменьшается на уровень добра, которое, в свою очередь, становится сильнее*/
evil_level--; /*а зло слабеет под натиском добра*/
}
if (infernal >= 100) { /*когда уровень инфернальности достигнет критической точки, начинается Армагеддон*/
people_resources = 1+rand()%(1000000); /*это у нас человеческие ресурсы*/
evil_resources = 1+rand()%(1000000); /*а это - адские*/
/*тут у нас типа битва людишек против нечисти. ака Армагеддон*/
if (people_resources<evil_resources) { /*если людей меньше, то хана. Ад победил. Пипец всему живому. Начало Апокалипсиса*/
cout<<"Все, армагеддец настал, комп тебе больше не понадобится. Беги, покупай белые тапочки\n";
return;
}
else if (people_resources>evil_resources) { /*и наоборот, если люди победили - начало райской жизни. Манна небесная, пара белых крыльев и все, что к ним прилагается*/
cout<<"Че сидишь, готовься получать белые крылья и порцию манны небесной\n";
return;
}
else continue; /*а если поровну - то ничья, живем дальше*/
}
}
}
Давным-давно, когда я только начинал изучать программирование, ради лулзов был рожден вот такой говнокод говномира. Позже, с появлением классов в моем мировосприятии, был рожден расширенный вариант этого мира с классами, но, к сожалению, в ограничение на сотню строк он никак не хочет влезать :(
В общем, не судите строго, одна из первых программ вообще, и выложено без изменений)
+144
void render_tee(/*<еще аргументы>*/, vec2 dir, vec2 pos)
{
vec2 direction = dir;
vec2 position = pos;
//еще код
}
вот что я нашел в сорцах игрушки TeeWorlds
+92.8
name[0].InnerText = Regex.Replace(name[0].InnerText, @"<[^>]+>", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "a*[a-z]*A*[A-Z]*", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, ",", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "\\.", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, ";", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "&", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "\\?", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "\n", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, " ", string.Empty);
такие дела. кстати, как улучшить? :)) Нужно, чтобы обрезалось все, кроме чисел (положительных и отрицательных) Я какбе начинающий
+144.7
$password = $password; // Возможно, в дальнейшем надо будет изменить строку ...
Нашел у себя в описании старого класса (user class) =D
+160.8
//...
if(preg_match("/[0-9]{1,2,3,4,5,6}/",$_GET['id'],$reg))
//...
регулярное 'выражение'
+172.8
$Sn = strtolower ($n);
if (preg_match ("'(.*?)\.png$'si", $Sn)) $type="png";
if (preg_match ("'(.*?)\.gif$'si", $Sn)) $type="gif";
if (preg_match ("'(.*?)\.jpg$'si", $Sn)) $type="jpg";
if (preg_match ("'(.*?)\.jpeg$'si", $Sn)) $type="jpeg";
Определение типа изображения
+55.3
#include<iostream>
#include<math.h>
//#include<csdio>
using namespace std;
void main(){
//char*s1=new char[0]
int i=0;
do
char*s1=new char[0];
cout<<'write s1: ';
cin>>s1[i];
i=i+1;
while (*s1[i]=="\0");
for(int j=1, j==i, j++)
cout<<s1[j];
cout<<endl;
delete []s1;
}
Вот такую поделку мне прислали на проверку с жалобой "не работает".
+164
for($i = 0; $i < 1000; $i++) {
if(isset($_POST['discount_sum_'.$i]))
{
$a_discount_id_service[] = htmlspecialchars(@$_POST['id_service_'.$i]);
$a_discount_sum[] = htmlspecialchars(@$_POST['discount_sum_'.$i]);
$a_discount_type[] = htmlspecialchars(@$_POST['discount_type_'.$i]);
$a_discount_time_type[] = htmlspecialchars(@$_POST['discount_time_type_'.$i]);
}
else {
break;
}
}
По POST'у передаётся некоторое количество 'discount_sum_'.$i, 2 или 3, например 'discount_sum_1', 'discount_sum_2', 'discount_sum_3', в зависимости от точно известного количества записей в одной из таблиц, и передаваемое количество точно известно в момент передачи, но ведь лучше перебрать от 1 до 1000! :))
+173.5
function load_config ()
{
$res = mysql_query ('select * from configurations');
while ($row = mysql_fetch_assoc ($res))
{
$n = $row[name];
$v = $row[value];
$str = '$_config[\'' . $n . '\'] = \'' . $v . '\';';
eval ($str);
}
return $_config;
}
Загрузка конфига из базы данных.
Продукт, где содержится _это_, продаётся за ~300$