| Тайпкастинг |
[17 Jul 2008|06:10pm] |
Свежачок с форума phpclub.
Такой вот совсем нехитрый способ преобразовать обьект в строку: $image = substr( " ".$xml->artist->image[2], 1);
|
|
| как завалить static_check на корню |
[11 Jul 2008|01:41am] |
Мне понравилось сюда постить, поэтому еще один перл. Есть у нас в проекте (большом, на C++) STATIC_CHECK. Используется, ну, практически везде. Реализован, как у Александреску:
template <bool>
struct CompileTimeError;
template <>
struct CompileTimeError<true> {};
#define STATIC_CHECK(...) // ну, и так далее
На самом деле немного более наворочено, но не суть. Недавно мне говорят, что сломался STATIC_CHECK. Нифига не проверяет. Как так? Смотрю в код. А там какой-то кент немножко подправил:
template <bool>
struct CompileTimeError {};
Ну, @б @#$ю @#$ь! И сделано это изменение было более чем пол-года назад!
Я все пытаюсь представить ход мыслей человека, который сподобился это сделать. Компиляет, значит, он свою какую-то фигню. У него не компиляется. Смотрит он, ага! CompileTimeError не определен. И думает: "Ну, какие балбесы же это писали! Даже класс забыли определить. Ща я быстренько это дело исправлю!" И исправил. И ничего его не смутило: ни что класс называется CompileTimeError, ни что STATIC_CHECK в проекте уже несколько лет как существует, ничего. И я уверен, что сон у него, как у младенца.
|
|
| define bool |
[11 Jul 2008|12:13am] |
В дебрях одного (большого) C++ проекта найдено:
#define bool BOOL
Невинно так. С детской непосредственностью. Смотришь на такое, и ничего кроме отборного мата в голову не приходит. Спросите меня, как я это обнаружил. Нет, лучше не спрашивайте.
Кстати, если этот define убрать, то код уже не компилируется. Приплыли, называется.
|
|
| важность-неважность |
[27 Jun 2008|06:39pm] |
откопали в коде уволенного товарища:
void setImportant(bool b)
{
if (mIsNotImportant)
b = false;
mIsImportant = b;
}
void setNotImportant(bool b)
{
mIsNotImportant = b;
if (b)
mIsImportant = false;
}
|
|
|
[27 Jun 2008|03:48pm] |
Доделывала недавно один проект за украинцами, несколько перлов особо запомнились:
arr.clear(); arr=null; arr=new ArrayList();
if(i==true){ //кусок кода }else if(i==false){ //другой кусок кода }
ну и комментарии на русском (например, "запоминаем табочку" - дословно запомнила) и имена функций типа buttonClickObratchik меня жутко умилили.
|
|
|
[27 Jun 2008|02:13pm] |
Вот вы говорите индусский код, индусский код. Вот вам «израильтянский» код.
uint16* pBuffer;
pBuffer =(uint16 *) new int16[ BufferSize ];
|
|
| Нет magic numberам!!! |
[25 Jun 2008|10:54am] |
public static int _01 = 1; public static int _02 = 2; ... public static int _50 = 50;
Начало класса на 500 строк полностью статического.
|
|
| System.Web.CrossSiteScriptingValidation |
[20 Jun 2008|06:18pm] |
internal static bool IsDangerousUrl(string url)
{
if (string.IsNullOrEmpty(url))
{
return false;
}
url = url.Trim();
int length = url.Length;
if (((((length > 4) && ((url[0] == 'h') || (url[0] == 'H'))) && ((url[1] == 't') || (url[1] == 'T')))
&& (((url[2] == 't') || (url[2] == 'T')) && ((url[3] == 'p') || (url[3] == 'P')))) && ((url[4] == ':') ||
(((length > 5) && ((url[4] == 's') || (url[4] == 'S'))) && (url[5] == ':'))))
{
return false;
}
if (url.IndexOf(':') == -1)
{
return false;
}
return true;
}
|
|
| Этот жестокий, нелогичный мир... |
[20 Jun 2008|02:38pm] |
Найдено в глубинах кода крупного проекта (достаточно важный модуль):
...куча спагетти-кода... ... // 32 = 40 ???!!! ... ...куча спагетти-кода...
|
|
| Отображение ошибок... |
[12 Jun 2008|07:20pm] |
catch (Exception ex) { lblError.Text = "An error occurred performing the operation: " + ex.Message; Label mainErrorLabel = (Label) this.Parent.Parent.Parent.Parent.Parent.Parent.Parent.FindControl("lblError"); if (mainErrorLabel != null) mainErrorLabel.Text = lblError.Text; ...
|
|
| Не совсем WTF, но всё же |
[12 Jun 2008|12:58pm] |
|
org.junit.ComparisonFailure: expected:<[Sunday]> but was:<[Понедельник]>
|
|
| Интересная концепция редактора схем |
[04 Jun 2008|11:56pm] |
TProhod = class (TImage) ... procedure DrawProhod; end;
TSclad = class (TImage) ... procedure DrawSclad; end;
TKran = class (TImage) ... procedure DrawKran; end;
А мне из этого нужно сделать нечто вразумительное (менее чем за неделю)
|
|
| Нашёл от такое дебужа код )) |
[03 Jun 2008|03:33pm] |
UltraGridCell currentCell = e.Cell; if (null == currentCell) currentCell = e.Cell;
|
|
| Новое слово в вебе |
[05 May 2008|02:59pm] |
После попытки загрузить страницу http://ishodniki.ru/art/print.php?cat=1&id=692&show=net выскакивает окно печати... я открываю код страницы...и что я вижу там
body onLoad="javascript:(print())"
Разъясните мне назначение этого
|
|
| Наше условие -- никаких условий! |
[05 May 2008|10:56am] |
я уже писал тут о пародии, "замечательном" продукте на asp (!) за 3k£.
Очередной шедевр оттуда:
<%if 2=1 then %> ......... ... тут 30 строк кода и вёрстки (!) ......... <%end if%>
это, типо, они вместо блочного каммента так извратилис?
|
|
| Замена Quoted-Printable на 8bit |
[03 May 2008|07:29pm] |
Программа для конвертации кодов типа «=41» в «A».
( Исходный текст )
|
|
| Ахтунг :) |
[29 Apr 2008|12:50pm] |
globals.inc
<? define( "FALSE", -1 ); define( "TRUE", 0 );
......
|
|