- 1
- 2
- 3
- 4
- 5
- 6
- 7
private String setArticleHTML() {
// ...
}
...
mArticleView.loadDataWithBaseURL(mBaseUrl, setArticleHTML(), "text/html", "UTF-8", "");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+69
private String setArticleHTML() {
// ...
}
...
mArticleView.loadDataWithBaseURL(mBaseUrl, setArticleHTML(), "text/html", "UTF-8", "");
+148
if (browser.opera && browser.version < 10.50) {
parent.innerHTML = parent.innerHTML;
}
http://vkontakte.ru/js/player.js?10 (c)
+111
try
{
Int16 y = 0, m = 0, d = 0, hh = 0, mm = 0, ss = 0, ms = 0, zn = 0;
if (Value.IndexOf("T") > 0)
{
Int16.TryParse(Value.Substring(0, 4), out y);
Int16.TryParse(Value.Substring(4, 2), out m);
Int16.TryParse(Value.Substring(6, 2), out d);
Int16.TryParse(Value.Substring(9, 2), out hh);
Int16.TryParse(Value.Substring(11, 2), out mm);
Int16.TryParse(Value.Substring(13, 2), out ss);
Int16.TryParse(Value.Substring(16, 2), out ms);
Int16.TryParse(Value.Substring(18, 3), out zn);
dt = new DateTime(y, m, d, hh, mm, ss, ms, DateTimeKind.Utc);
}
if (Value.IndexOf("T") == 0)
{
Int16.TryParse(Value.Substring(0, 2), out hh);
Int16.TryParse(Value.Substring(2, 2), out mm);
Int16.TryParse(Value.Substring(4, 2), out ss);
Int16.TryParse(Value.Substring(7, 2), out ms);
dt = dt.AddHours(hh).AddMinutes(mm).AddSeconds(ss).AddMilliseconds(ms);
}
dt.AddHours(-zn);
catch (Exception ex)
{
Console.Write(this.Value + "\r\n" + ex.ToString());
}
return dt;
Разбор модифицированного iso 8601 формата даты и времени (без "-").
не учитавается наличие/отсуствие даты или времени, длинная тайм зона, то что если нет T то это не время а дата. Естественно все обернуто в try/catch что бы никто не догадался.
Так сказать особой утонченности придает строка dt.AddHours(-zn);
(сколько уйдет у кого секунд что бы понять что с ней не так?)
+83
function td1(text: string):string;
const cifr: string =
'1234567890';
english: string =
'NOPQRSTUVWXYZnopqrstuvwxyz'+
'ABCDEFGHIJKLMabcdefghijklm';
var
count, i, a, b, h, ss:integer;
special:string;
errform:TForm;
begin
try
application.ProcessMessages;
special:='';
count:=length(text);
if count < 210 then
begin
errform:=CreateMessageDialog('Неверный тип кода.',mtError,[mbOK]);
errform.ShowModal;
exit;
end;
for a:=1 to count do begin
for i:=1 to count do begin
for h:=1 to length(english) do begin
for b:=1 to length(cifr) do begin
application.ProcessMessages;
if cifr[b]=text[a] then
begin
ss:=ss+(count+length(cifr))+12;
end;
if cifr[i]=text[a] then
begin
ss:=ss+14;
end;
if cifr[a]=text[b] then
begin
ss:=ss+(count+length(english))+b+a;
end;
//***********************
if english[b]=text[a] then
begin
ss:=ss*7+(count+length(cifr))+a+b;
end;
if english[i]=text[a] then
begin
ss:=ss+(count*4+length(english)++length(cifr))+i+a-12;
end;
if english[a]=text[b] then
begin
ss:=ss+(count*7+length(english))+a+b+14;
end;
end;
end;
end;
special:=special+inttostr(ss);
end;
result:=special;
except
end;
end;
При просмотре данного говнокода будьте осторожны пжл. Прсомтор может вызвать ФГМ (Фимоз Головного Мозга)
+156
function __get($propertyName) {
....
if (!isset($propertyName[$this->propertyTable])) {
var_dump($this->propertyTable);
throw new Exception("Wrong property name \"$propertyName\"");
}
.....
}
Глубоко в дебрях...
+141
/* Putarc1 печатает точки, определяющие дугу от 0 до 45.*/
void Putarc1(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int starty, endy, y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,y1+x_center,y_center-x,color);
}
/* Putarc2 печатает точки, определяющие дугу от 45 до 90.*/
void Putarc2(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx, endx, x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x1+x_center,y_center-y,color);
}
/* Putarc3 печатает точки, определяющие дугу от 90 до 135.*/
void Putarc3(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx,endx,x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x_center-x1,y_center-y,color);
}
/* Putarc4 печатает точки, определяющие дугу от 135 до 180.*/
void Putarc4(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,x_center-y1,y_center-x,color);
}
/* Putarc5 печатает точки, определяющие дугу от 180 до 225.*/
void Putarc5(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,x_center-y1,x+y_center,color);
}
/* Putarc6 печатает точки, определяющие дугу от 225 до 270.*/
void Putarc6(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int startx,endx,x1;
startx=x*1.0; endx=(x+1)*1.0;
for (x1=startx;x1<endx;++x1) PutPoint(Im,x_center-x1,y+y_center,color);
}
/* Putarc7 печатает точки, определяющие дугу от 270 до 315.*/
void Putarc7(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx, endx, x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x1+x_center,y+y_center, color);
}
/* Putarc8 печатает точки, определяющие дугу от 315 до 360.*/
void Putarc8(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color) {
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,y1+x_center,x+y_center,color);
}
Рисуем дуги кусками по 45 градусов
+162
function get_cookie_352(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return true;
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) {
break;
}
}
return null;
}
Типа поиск подстроки в строке. Причем про indexOf точно знают.
+170
var selectControl = document.getElementById("list_tt_DropDownList_PerRaz");
switch (tr.cells[13].innerText)
{
case "1":
selectControl.options[0].selected = "selected";
break;
case "2":
selectControl.options[1].selected = "selected";
break;
case "3":
selectControl.options[2].selected = "selected";
break;
case "4":
selectControl.options[3].selected = "selected";
break;
case "5":
selectControl.options[4].selected = "selected";
break;
}
такой вот милый switch
+166
for ( ; $k <= 15; ++$k ) {
$map[$k] = $mx2[$k];
// A
if ( $map[$k] == 10 && $k == 1 || $map[$k] == 10 && $k == 2 || $map[$k] == 10 && $k == 3 ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
// B
if ( $map[$k] == $map[$k-1] ) {
$map[$k] = rand( 1, 9 );
}
// C
if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
$map[$k] = rand( 1, 9 );
}
}
$mx2 - массив из 15 элементов(элементы имеют значение от 1 до 10, расположены рандомно). Генерируется таким образом новый массив $map, в котором не могут быть два одинаковых элемента подряд(а так же текущий и пред-предыдущий не должны быть равны). Как бы сделал типичный программист? Зафигачил бы в цикле цикл, в которм бы проверял равенство текущего элемента и предыдущего. А вот так сделал мудак со стажем. Не удивительно, что периодически всё работает не так как надо...
−136
#!/bin/bash
case $1 in
u|use)
case $2 in
e) $EDITOR /etc/portage/package.use
;;
s) grep -n --color "$3" /etc/portage/package.use
;;
d)
if echo "$3" | grep -q -e "[1-9]"
then
DELVAR="`echo $3 $4 $5 $6 $7 $8 $9 | sed 's/ /\n/g'`"
echo "Do you want delete next line(s):
`echo "$DELVAR" | sed 's/$/!d/g' | xargs -n 1 | while read line ; do
sed "$line" /etc/portage/package.use -i
done`
Yes/No?"
read "answer"
case "$answer" in
y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
sed "$yesno" /etc/portage/package.use -i
done
;;
esac
else
DELVAR="`grep -n --color "$3" /etc/portage/package.use | cut -d":" -f1`"
echo "Do you want delete next line(s):
`grep -n --color "$3" /etc/portage/package.use`
Yes/No?"
read "answer"
case "$answer" in
y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
sed "$yesno" /etc/portage/package.use -i
done
;;
esac
fi
;;
*) echo "$2 $3 $4 $5 $6 $7 $8 $9" >> /etc/portage/package.use
;;
esac
;;
i) euses $3
;;
s) eix "$3"
;;
sync) sudo layman --sync-all ; emerge --sync ; eix-update
;;
U) exec emerge -vauND world
;;
i) exec emerge -va "$2 $3 $4 $5 $6 $7 $8 $9"
;;
mkconf) sudoedit /etc/make.conf
;;
*|-h|--help) echo "Использование: pkg [ключ] [параметры ключа]
u [USE] - операции с USE-флагами в файле /etc/portage/package.use
e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
s - поиск в файле grep'ом
d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
i - просмотр информации о флагах (с помощью euses)
* - все иные значения будут записаны в файл
k [KEYWORDS] - операции с keywords-масками в файле /etc/portage/package.keywords
e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
s - поиск в файле grep'ом
d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
* - все иные значения будут записаны в файл
i - установка пакета (emerge -av)
s - поиск по базе пакетов (с помощью eix)
sync - синхронизация баз layman, emerge и запуск eix-update
U - обновление системы (emerge -vauND world)
mkconf - открыть для редактирования файл /etc/make.conf (используя sudoedit)"
;;
esac
Нашел свой старый код.. Когда-то от нечего делать пытался написать некую обёртку ко всяким джентовским утилитам. До конца так и не дописал, были некоторые проблемы с кодом, которые мне решать было лень. Но сейчас залез в тот код и ужаснулся..
P.S. Файл немного урезан от оригинала, т.к. те же действия повторяются для разных файлов.