-
switch
Date: 03/08/08
Keywords: no keywords
Милый изыск, обнаруженный в пятницу при чтении кода, написанного соисполнителями проекта из дружественной компании. Будучи очищен от шелухи, выглядит так:
switch (someVariable) {
case 1:
... do something ...
case 2:
if (someVariable > 1) {
... do something else ...
}
...
case 5:
if (someVariable > 4) {
... another code block ...
}
}
Интересно: это написано в альтернативном состоянии сознания или автор придерживался некоторой эзотерической методологии кодирования?
P.S. На всякий случай уточняю: операторов break код не содержит.
Source: http://community.livejournal.com/code_wtf/124993.html
-
глобализация глобального
Date: 03/07/08
Keywords: php
PHP:
function ...бла_бла_бла...
{
global $_GET, $_POST;
.....
}
Source: http://community.livejournal.com/code_wtf/124805.html
-
DecimalSeparator
Date: 03/07/08
Keywords: no keywords
Леминги...
Function SetMoney(Money:double):string;
var
res : string;
I : Integer;
begin
Result := '';
res := FloatToStr(Money);
for i := 1 to length(res) do
begin
if (res[i]='0') or
(res[i]='1') or
(res[i]='2') or
(res[i]='3') or
(res[i]='4') or
(res[i]='5') or
(res[i]='6') or
(res[i]='7') or
(res[i]='8') or
(res[i]='9')
then begin
Result:=Result+res[i];
end
else if res[i] = '-' then
begin
Result:=Result+'-';
end else
begin
Result:=Result+'.';
end;
end;
end;
Source: http://community.livejournal.com/code_wtf/124566.html
-
конструкция
Date: 03/04/08
Keywords: no keywords
switch ($mode)
{
case 1:
if ($_POST['Save'])
{
....
break;
}
}
работает...
Source: http://community.livejournal.com/code_wtf/123938.html
-
Проблема 2008 года :)
Date: 03/03/08
Keywords: no keywords
Я хуею и плачу, плачу и хуею
В проекте которым я теперь рулю. Нам достался клиентский софт. Написанный одной нехорошей конторой (не буду раскрывать имен).
В пятницу мне звонят с утра и говорят "не работает"
с ошибкой "29.02.1990 не правильная дата"
Разработчики говнокода посоветовали поменять время на серверах баз данных.
И Вы думаете я им поверил, хрен им не дождутся.
Беглый анализ исходников клиента показал наличие кода.
DPD_N:=COPY(DATETOSTR(DATE),1,6)+INTTOSTR(STRTOINT(COPY(DATETOSTR(DATE),7,4))-18);
IF STRTODATE(DR)<DPD THEN
BEGIN
|
_Winnie C++ Colorizer |
блиять это какже нужно не любить собственную профессию. чтобы так обращаться с датами.
дальше интереснее :)
оказалось что переданные нам исходники не соответствуют тому что чтоит в продуктиве :(
причем клиент собранный из наших исходников будучи собранными просто не запускался.
пришлось корректировки вносить напрямую в их бинарник.
убрал проверку "IF STRTODATE(DR) " проверил, положили в систему обновления, клиенты обновились.
Работают.
через два часа еще звонок
ошибка при печати решения о выдаче, анализ кода показал
decodedate(dbedit46.Field.AsDateTime,Year,month,day);
vdestdo_:=Datetostr(encodedate(Year+5,Month,Day));
|
_Winnie C++ Colorizer |
блиять сказал я опять и пристальнее присмотревшись к исходникам нашел еще с десяток мест такого кода
что бы заставить это работать пришлось дописать чуток кода для encodedate
который бы выполнял коррекцию 29.02.xxxx на 28.02.xxxx
nop - дополнительные потому что изначально проверка правила дату на 31.03.xxxx если год не високосный
.0064A7CC: 663DD807 cmp ax,007D8
.0064A7D0: 7415 je .00064A7E7
.0064A7D2: 6683FA02 cmp dx,002
.0064A7D6: 750F jne .00064A7E7
.0064A7D8: 6683F91D cmp cx,01D
.0064A7DC: 7509 jne .00064A7E7
.0064A7DE: 66B91C00 mov cx,0001C
.0064A7E2: 90 nop
.0064A7E3: 90 nop
.0064A7E4: 90 nop
.0064A7E5: 90 nop
.0064A7E6: 90 nop
.0064A7E7: 55 push ebp
.0064A7E8: 8BEC mov ebp,esp
.0064A7EA: 81C4F4FFFFFF add esp,0FFFFFFF4
.0064A7F0: E9D50ADCFF jmp .00040B2CA |
_Winnie C++ Colorizer |
такое вот классическое решение проблемы хххх года :))
Source: http://community.livejournal.com/code_wtf/123719.html
-
Когда мы были молодые, и чушь прекрасную несли ...
Date: 02/22/08
Keywords: no keywords
На шел переписывая очень старый свой код
if ('number' == typeof(item.key) && shop.items[item.key]) {
shop.items.splice(item.key, 1);
}
else {
// Fuck!
}
Source: http://community.livejournal.com/code_wtf/123343.html
-
Мелочь, но улыбнуло
Date: 02/20/08
Keywords: php
Давненько я не смотрел PHP код, но вот недавно проглянул и вновь улыбнулся:
$var="\""."-1"."\"";
И где же такому учат? :)
Source: http://community.livejournal.com/code_wtf/122915.html
-
из непознанного
Date: 02/18/08
Keywords: no keywords
public bool FormExists
{
get
{
try
{
return true;
}
catch (Exception)
{
return false;
}
}
}
Source: http://community.livejournal.com/code_wtf/122465.html
-
Индусы, иднусы...
Date: 02/15/08
Keywords: no keywords
Немцы тоже жгут!
Ковыряюсь в коде, котоый наколбасил коллега немецкого происхождения и вот что вижу.
кусок джава-кода:
/**
* parse the userId
*
* @param sUserId
* @param log
* @return userId
* @throws Exception
*/
public static Long parseUserId(final String sUserId, final Log log)
throws Exception{
if (log.isDebugEnabled())log.debug("WorklistSummaryUtils.parseUserId.begin");
Long userId = null;
if (sUserId != null)
{
userId = Long.parseLong(sUserId);
}
if (log.isDebugEnabled())log.debug("WorklistSummaryUtils.parseUserId.end");
return userId;
}
Source: http://community.livejournal.com/code_wtf/122248.html
-
Индусятник в NGINX
Date: 02/12/08
Keywords: html
http://www.riceonfire.org/emiller/nginx-modules-guide.html
If you're still not convinced, take a look at this code snippet from Nginx's HTTP parser:
if (m[1] == 'O') {
if (m[0] == 'P' && m[2] == 'S' && m[3] == 'T') {
r->method = NGX_HTTP_POST;
break;
}
if (m[0] == 'C' && m[2] == 'P' && m[3] == 'Y') {
r->method = NGX_HTTP_COPY;
break;
}
via xplozive
Source: http://community.livejournal.com/code_wtf/121902.html
-
php coder
Date: 02/11/08
Keywords: no keywords
if(!function_exists("get_ovv"))
{
// получение значения переменной по имени с заданным порядком поиска значения.
function get_ovv($name, $order="LPG", $type="", $len=0, $mask="", $min=0, $max=0, $values="")
{
global $GLOBALS, $_GET, $_POST, $HTTP_POST_VARS, $HTTP_GET_VARS;
$value = false;
<поскипано>
}
}
Source: http://community.livejournal.com/code_wtf/121843.html
-
Душераздирающее
Date: 02/10/08
Keywords: no keywords
Вполне себе реальный заголовок документа в работающей системе.
Source: http://community.livejournal.com/code_wtf/121352.html
-
Код, который можно петь
Date: 02/10/08
Keywords: no keywords
Этот кусок кода можно не только читать, но и петь...
Param := TDAParam.Create( TParams(Params) );
Params.AddParam(Param);
TParam(Param).Value := AValue;
bash|org
Кстати, вы можете написать что-нибудь здесь (code_wtf)
Source: http://community.livejournal.com/code_wtf/121242.html
-
Картинка по теме сообщества, надеюсь, не баян
Date: 02/06/08
Keywords: no keywords
Найдено сегодня на хабре...
Source: http://community.livejournal.com/code_wtf/120875.html
-
php
Date: 02/02/08
Keywords: no keywords
Предыстория:
У шефа есть навязчивая идея построить сайт определённой направленности. Имеет он эту идею уже месяца четыре как. Для реализации он перепробовал уже около трёх опенсорсных и коммерческих решений с различным качеством кода. По необъяснимой причине они ему все не нравились, и он их сменял, не ставя в известность разработчика (вернее, того, кто этот софт должен допиливать до желаемого состояния, т. е. меня). Чёрт с ним. Самое фееричное - в коде нового софта. Купленного за деньги на сетевом аукционе, между прочим.
if(file_exists("fotos/".$getp[id]."-profil-m.jpg")==1) echo "
";
elseif(file_exists("fotos/".$getp[id]."-profil-m.png")==1) echo "
";
ЗЫ: ну и, конечно, надо представить себе это без отступов, комментариев и документации АПИ.
x-post d43m0n
Source: http://community.livejournal.com/code_wtf/120528.html
-
Логика
Date: 01/31/08
Keywords: no keywords
Нарыл такой вот кусок деактивации кнопки-субмита на форме регистрации.
if ( ( $sf_request->getMethod() == sfRequest::POST ) && $sf_request->hasError('locId') ) {
$disable = 'disabled="true"';
} else if ( $sf_request->getMethod() == sfRequest::POST ) {
$disable = '';
} else {
$disable = 'disabled="true"';
}
?>
P.S. К делу не отностится, но! Если написать disabled="false"
то результат будет такой же. (Понятно почему, просто эти true/false смущают - как будто что-то делают).
Source: http://community.livejournal.com/code_wtf/119902.html
-
румынские J2ME программеры творят...
Date: 01/29/08
Keywords: no keywords
разбирал сегодня очередную игру для мобильного телефона и увидел такой вот вовсе нетривиальный метод проверки "для какого телефона игра" на основании того, что в classpath, полет мысли просто супер.
public static final int VENDOR_NOKIA = 1;
public static final int VENDOR_VODAFONE = 2;
public static final int VENDOR_MOTOROLA = 3;
public static final int VENDOR_SHARP = 4;
public static final int VENDOR_SAMSUNG = 5;
private Settings()
{
try
{
Class.forName("com.nokia.mid.ui.DeviceControl");
vendor = VENDOR_NOKIA;
return;
}
catch (Throwable ex)
{
}
try
{
// Motorola
Class.forName("com.motorola.multimedia.Lighting");
vendor = VENDOR_MOTOROLA;
return;
}
catch (Throwable ex)
{
}
try
{
Class.forName("com.vodafone.v10.system.device.DeviceControl");
vendor = VENDOR_VODAFONE;
return;
}
catch (Throwable ex)
{
}
try
{
Class.forName("com.samsung.util.LCDLight");
vendor = VENDOR_SAMSUNG;
return;
}
catch (Throwable ex)
{
}
}
Source: http://community.livejournal.com/code_wtf/119747.html
-
Большой брат следит за тобой =)
Date: 01/15/08
Keywords: no keywords
Не совсем (совсем не) код, но в тематику коммунити очень даже попадает.
Вот такую структуру таблицы нашел только что в проекте.
Сразу видно что ребята любят держать руку на пульсе происходящего и неоднократно перестраховываются =)
Source: http://community.livejournal.com/code_wtf/119431.html
-
Вычислить 1% от числа
Date: 01/08/08
Keywords: no keywords
Ребята из штатов (по слухам, индусы) выслали requirement по вычислениям в программе в виде Excel-файла.
В одной строчке нужно было взять 1% от суммы. Вот как они подсчитали:
=ABS(E10-(E10*1.01))
, где E10 - это ячейка суммы.
Source: http://community.livejournal.com/code_wtf/119107.html
-
Профессорский код
Date: 12/20/07
Keywords: no keywords
Бывший преподаватель computer science в университете пишет (значимые идентификаторы заменены):
map< int, NodeSet >::iterator map_it;
map_it = int2nodeset.find(num);
if (map_it == int2nodeset.end()) {
int2nodeset[num] = NodeSet ();
}
int2nodeset[num].insert(currnode);
Source: http://community.livejournal.com/code_wtf/118996.html