- 1
- 2
- 3
- 4
- 5
Вакансия: Программист Java
Требования:
....
знание компьютерных программ: Java, pl/sql, Eclipse, Oracle Repotrs приветствуется;
....
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Вакансия: Программист Java
Требования:
....
знание компьютерных программ: Java, pl/sql, Eclipse, Oracle Repotrs приветствуется;
....
Не совсем то, но не мог пройти мимо.
public static String serialize3(IModellingWorkerSetup r) {
return serialize(serialize(serialize(r)));
}
как вы понимаете, есть и обратное преобразование
$path = file_directory_path();
$dir = opendir($path);
/*seacrh file shops.dtd.zip*/
while ($file_name = readdir($dir)) {
/*if found export file of current user*/
if ($file_name == 'market_new.xml') {
/*create array - date of last change current file => create date of current file*/
$last_export_date = date('d-m-Y H:i', filectime($path . '/' .$file_name));
}
}
/*close catalog*/
closedir ($dir);
превед братья украинци.
if(0){}else for (... тут всякий код...) и тут всякий код
Из реализации foreach в Qt. Не ГК. Кто первый скажет почему не ГК получит пирожок с полочки.
$res= (isset($r[0]) and count($r[0]) > 0) ? true : false;
return $res;
Классика
IsAutoUpdate ? 1.ToString() : 0.ToString()
Практически классика.
function UTZP10(IERR :Integer; N :Integer): String;
var
I :Integer;
label
_10,_101,_102,_103,_104,_14,_2,_141,_142,_1,_11,_112,_115,_113,_114,
_116,_12,_16,_163,_17,_18,_34;
begin
{ функция UTZP10 выводит сообщения в файл NAL_DIAG.res }
Result := ''; { результат функции }
if ( N = 10 )
then goto _10;
if ( N = 11 )
then goto _11;
if ( N = 111 )
then goto _116;
if ( N = 12 )
then goto _12;
if ( N = 14 )
then goto _14;
if ( N = 141 )
then goto _1;
if ( N = 16 )
then goto _16;
if ( N = 17 )
then goto _17;
if ( N = 18 )
then goto _18;
if ( N = 34 )
then goto _34;
_10:
I := IERR-64;
Result := Result + Format('%s',
[' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP10R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A;
case I of
1: goto _101;
2: goto _102;
3: goto _103;
4: goto _104;
end;
_101:
Result := Result + Format('%s',
[' N 1 - CTEПEHЬ ПOЛИHOMA MEHЬШE 1']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_102:
Result := Result + Format('%s',
[' N 2 - OДИH ИЛИ HECKOЛЬKO KOЭФФИЦИEHTOB ПPИ CTAPШИX CTEПEHЯX PABHЫ 0.' + #$0D#$0A +
' COOTBETCTBYЮЩEE ЧИCЛO KOPHEЙ B KOHЦE BEKTOPA, COДEPЖAЩEГO KOPHИ' + #$0D#$0A +
' ПOЛИHOMA, ПOЛOЖEHЫ PABHЫMИ (3.4E38,0.0)']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_103:
Result := Result + Format('%s',
[' N 3 - BЫЧИCЛEHO MEHЬШE KOPHEЙ, ЧEM CTEПEHЬ ПOЛИHOMA. COOTBETCTBYЮЩEE' + #$0D#$0A +
' ЧИCЛO KOPHEЙ B KOHЦE BEKTOPA, COДEPЖAЩEГO KOPHИ ПOЛИHOMA,' + #$0D#$0A +
' ПOЛOЖEHO PABHЫM (3.4E38,0.0)']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_104:
Result := Result + Format('%s',
[' N 4 -HA BЫЧИCЛEHИE OДHOГO ИЗ KOPHEЙ ПOTPEБOBAЛOCЬ ИTEPAЦИЙ БOЛЬШE,' + #$0D#$0A +
' ЧEM 200*CTEПEHЬ ПOЛИHOMA,OCTABШИECЯ KOPHИ ПOЛOЖEHЫ (3.4E38,0.0)']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_14:
I := IERR-64;
Result := Result + Format('%s',
[' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP14R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A;
_2:
case I of
1: goto _141;
2: goto _142;
end;
_141:
Result := Result + Format('%s',
[' N 1 - CTAPШИE KOЭФФИЦИHTЫ PABHЫ 0, ПOЭTOMY ПEPBЫЙ KOPEHЬ' + #$0D#$0A +
' ПOЛAГAETCЯ PABHЫM (-3.4E38,0.0), A BTOPOЙ (3.4E38,0.0)']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_142:
Result := Result + Format('%s',
[' N 2 - CTAPШИЙ KOЭФФИЦИEHT PABEH 0, ПOЭTOMY BTOPOЙ KOPEHЬ' + #$0D#$0A +
' ПOЛAГAETCЯ PABHЫM (3.4E38,0.0)']) + #$0D#$0A;
UtDiag(Result,IERR);
exit;
_1:
Result := Result + Format('%s',
[' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP14C:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A;
I := IERR - 64;
goto _2;
_11:
I := IERR - 64;
Result := Result + Format('%s',
[' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP11R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A;
_112:
case I of
1: goto _113;
2: goto _114;
3: goto _115;
end;
На сайте МГУ нашел :-(
procedure _FinalizeArray(p: Pointer; typeInfo: Pointer; elemCount: Cardinal);
asm
CMP ECX, 0 { no array -> nop }
JE @@zerolength
PUSH EAX
PUSH EBX
PUSH ESI
PUSH EDI
MOV EBX,EAX
MOV ESI,EDX
MOV EDI,ECX
XOR EDX,EDX
MOV AL,[ESI]
MOV DL,[ESI+1]
CMP AL,tkLString
JE @@LString
CMP AL,tkWString
JE @@WString
CMP AL,tkVariant
JE @@Variant
CMP AL,tkArray
JE @@Array
CMP AL,tkRecord
JE @@Record
CMP AL,tkInterface
JE @@Interface
CMP AL,tkDynArray
JE @@DynArray
JMP @@error
@@LString:
CMP ECX,1
MOV EAX,EBX
JG @@LStringArray
CALL _LStrClr
JMP @@exit
@@LStringArray:
MOV EDX,ECX
CALL _LStrArrayClr
JMP @@exit
@@WString:
CMP ECX,1
MOV EAX,EBX
JG @@WStringArray
CALL _WStrClr
JMP @@exit
@@WStringArray:
MOV EDX,ECX
CALL _WStrArrayClr
JMP @@exit
@@Variant:
MOV EAX,EBX
ADD EBX,16
CALL _VarClr
DEC EDI
JG @@Variant
JMP @@exit
@@Array:
PUSH EBP
MOV EBP,EDX
@@ArrayLoop:
MOV EDX,[ESI+EBP+2+8]
MOV EAX,EBX
ADD EBX,[ESI+EBP+2]
MOV ECX,[ESI+EBP+2+4]
MOV EDX,[EDX]
CALL _FinalizeArray
DEC EDI
JG @@ArrayLoop
POP EBP
JMP @@exit
@@Record:
PUSH EBP
MOV EBP,EDX
@@RecordLoop:
{ inv: EDI = number of array elements to finalize }
MOV EAX,EBX
ADD EBX,[ESI+EBP+2]
Это так в дельфах автофинализация строк, длиннострок, вариантов, массивов, записей, интерфейсов, динмассивов реализована.
Вместо того, чтобы напрямую вызвать деструктор, там в рантайме (ПИЗДЕЦ, В РАНТАЙМЕ БЛЯТЬ!!!) проверяется тип поля, требующего финализацию и через три таких жопы наконец-то вызывается деструктор. И это, блять, я ещё создал свой TInterfacedObject, потому что иначе бы деструктор вызывался не через три жопы, а через четыре, и одна из них - системный вызов.
Да, это при включённой оптимизации всё, если чё.
typedef int32_t wl_fixed_t;
//было:
static inline double wl_fixed_to_double(wl_fixed_t f)
{
return (double) f / 256.0;
}
//стало:
static inline double wl_fixed_to_double(wl_fixed_t f)
{
union {
double d;
int64_t i;
} u;
u.i = ((1023LL + 44LL) << 52) + (1LL << 51) + f;
return u.d - (3LL << 43);
}
Заоптимизировали...
private void changeTabItem(object parameter)
{
if (SelectedTabIndex == SelectedTabIndexOld) return;
if (SelectedTabIndex != 0)
{
if ([надо сохранить])
{
if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
else SelectedTabIndex = 0;
}
else SelectedTabIndexOld = SelectedTabIndex;
if (SelectedTabIndex == 1)
[обновить древо]
}
else if (SelectedTabIndex != 1)
{
if ([надо сохранить])
{
if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
else SelectedTabIndex = 1;
}
else SelectedTabIndexOld = SelectedTabIndex;
if (SelectedTabIndex == 0)
[обновить древо]
}
}
Раскопки продолжаются. Теперь Вашему вниманию предлагается "женское" переключение вкладок, работающее "от противного". В данном случае две вкладки, а теперь представим что надо добавить ещё пару. =)
HaskellGovno
9 часов назад
#
template <bool ValueToLock>
class TBoolLocker
{
private:
bool _lockedValue;
public:
TBoolLocker(void) : _lockedValue(!ValueToLock) {}
TBoolLocker(const TBoolLocker & Copy) : _lockedValue(Copy._lockedValue) {}
const TBoolLocker & operator=(const TBoolLocker & Copy)
{
_lockedValue = Copy._lockedValue;
return *this;
}
bool update(const bool NewValue)
{
if (_lockedValue != ValueToLock)
_lockedValue = NewValue;
return _lockedValue;
}
};
function validate() {
var at = document.getElementById("email").value.indexOf("@");
var age = document.getElementById("age").value;
var fname = document.getElementById("fname").value;
submitOK = "true";
if (fname.length > 10) {
alert("Имя не должно содержать более 10 знаков");
submitOK = "false";
}
if (isNaN(age) || age < 1 || age > 100) {
alert("Возраст должен быть от 1 до 100");
submitOK = "false";
}
if (at == -1) {
alert("Неправильный e-mail");
submitOK = "false";
}
if (submitOK == "false") {
return false;
}
}
Джордж Буль в гробу перевернулся.
foreach($combinations as $combination){
$buffer = array();
if(count($combination)){
if(is_numeric($combination[0])){
$a_cnt = count($words[$combination[0]]);
for($a=0;$a<$a_cnt;$a++){
if(is_numeric($combination[1])){
$b_cnt = count($words[$combination[1]]);
for($b=0;$b<$b_cnt;$b++){
if(is_numeric($combination[2])){
$c_cnt = count($words[$combination[2]]);
for($c=0;$c<$c_cnt;$c++){
if(is_numeric($combination[3])){
$d_cnt = count($words[$combination[3]]);
for($d=0;$d<$d_cnt;$d++){
if(is_numeric($combination[4])){
$e_cnt = count($words[$combination[4]]);
for($e=0;$e<$e_cnt;$e++){
if(is_numeric($combination[5])){
$f_cnt = count($words[$combination[5]]);
for($f=0;$f<$f_cnt;$f++){
if(is_numeric($combination[6])){
$g_cnt = count($words[$combination[6]]);
for($g=0;$g<$g_cnt;$g++){
if(is_numeric($combination[7])){
$h_cnt = count($words[$combination[7]]);
for($h=0;$h<$h_cnt;$h++){
if(is_numeric($combination[8])){
$i_cnt = count($words[$combination[8]]);
for($i=0;$i<$i_cnt;$i++){
if(is_numeric($combination[9])){
$j_cnt = count($words[$combination[9]]);
for($j=0;$j<$j_cnt;$j++){
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e]
.' '.$words[$combination[5]][$f]
.' '.$words[$combination[6]][$g]
.' '.$words[$combination[7]][$h]
.' '.$words[$combination[8]][$i]
.' '.$words[$combination[9]][$j];
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e]
.' '.$words[$combination[5]][$f]
.' '.$words[$combination[6]][$g]
.' '.$words[$combination[7]][$h]
.' '.$words[$combination[8]][$i];
}
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e]
.' '.$words[$combination[5]][$f]
.' '.$words[$combination[6]][$g]
.' '.$words[$combination[7]][$h];
}
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e]
.' '.$words[$combination[5]][$f]
.' '.$words[$combination[6]][$g];
}
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e]
.' '.$words[$combination[5]][$f];
}
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d]
.' '.$words[$combination[4]][$e];
}
}}
else{
$buffer[] = $words[$combination[0]][$a]
.' '.$words[$combination[1]][$b]
.' '.$words[$combination[2]][$c]
.' '.$words[$combination[3]][$d];
}
Вот такой вот кусок кода, к стати весь не поместился, я нашел в самописном движке, на котором моему знакомому сделали корпоративный сайт на 30 страниц. Бюджет был больше 2к зелени.
sayidandrtfm
12 часов назад
#
if ( sectors && sectorsNum )
{
for ( i = 0; i < ( int )sectorsNum; i++)
{
*(unsigned int*)(pl + 4 + 4 + i * 10 ) = sectors[i].originalNum;
*(pl + 4 + 4 + i * 10 + 4) = 3 ;
*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = sectors[i].usedNum;
*(pl + 4 + 4 + i * 10 + 9) = 4 ;
}
*(unsigned int*)(pl + 4 + 4 + i * 10 ) = newSectors;
*(pl + 4 + 4 + i * 10 + 4) = 0x0b ;
*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = newSectors * 0x200; // сектора в байты
}
В старых исходниках довольно крупного проекта нашелся сей замечательный отрывок... И очень одинокий коммент...
3.14159265
13 часов назад
#
count c l = length $ filter (c==) l
main = do
l <- getLine
let
f = count '(' l
s = count ')' l
in
print $ f s (f==s)
Посоны, как смешивать монадический код и не монадический?
http://ideone.com/yRGDk
Чистый код let in не хочет в монду.
if (!class_exists('Memcache')) {
class Memcache {
function connect($l, $p) {
echo "НЕТ МЕМКЕША";
return true;
}
function get($n) {
return false;
}
function set($a, $b, $v, $g) {
return true;
}
}
}
улыбнуло )
/*при всем этом работает как часы*/
...
foreach ($array as $k=>$v) {
$k++
if ($k==300) {
die ('выходим потому что 5');
}
...
маленькая часть большого парсера
int buttonState = R.id.power_widget_button_indic; // Зачем-то объявили лишнюю переменную, ссылающуюся на константу
ImageView indic = (ImageView) mView.findViewById(R.id.power_widget_button_indic); // Но здесь используем константу, а не новую, более короткую переменную!
if ((Settings.System.getInt(context.getContentResolver(), Settings.System.EXPANDED_HIDE_INDICATOR, 0)) == 1) {
indic.setVisibility(8); // Для установки видимости существуют константы View.VISIBLE, View.INVISIBLE и View.GONE, а циферка 8 вообще ни о чем мне не говорит
} else {
indic.setVisibility(0); // И еще раз
}
Это - кусок кода из Android 4, вернее, из CyanogenMod 9. Репозиторий frameworks_base, файл packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/PowerButton.java. И такого говнокода в исходниках Android - полно :(
3.14159265
15 часов назад
#
OdbcCommand dist_cmd = ifx_conn.CreateCommand();
dist_cmd.CommandText = string.Format(@"select -1 as districtid, '-=ВСІ=-' as districtname from systables where tabname = 'systables' union all
select id as districtid , cpz_name as districtname from post_cpz where directorate_id = {0} and id != 0 ORDER BY 2", (String.IsNullOrEmpty(DDL_obl.SelectedValue))?"-1":DDL_obl.SelectedValue);
reader = dist_cmd.ExecuteReader();
в процессе рефакторинга, убирая NHibernate код был заменен на это
pic = new Array()
for(i=0;i<21;i++)
{
pic[i] = new Image();
if(i==0) pic[i].src = "http://philosophy.do.am/_ph/1/1/272439236.jpg";
if(i==1) pic[i].src = "http://philosophy.do.am/_ph/1/1/987050819.jpg";
if(i==2) pic[i].src = "http://philosophy.do.am/_ph/1/1/442166179.jpg";
if(i==3) pic[i].src = "http://philosophy.do.am/_ph/1/1/925090451.jpg";
if(i==4) pic[i].src = "http://philosophy.do.am/_ph/1/1/833480698.jpg";
if(i==5) pic[i].src = "http://philosophy.do.am/_ph/1/1/958410581.jpg";
if(i==6) pic[i].src = "http://philosophy.do.am/_ph/1/1/472798047.jpg";
if(i==7) pic[i].src = "http://philosophy.do.am/_ph/1/1/657609683.jpg";
if(i==8) pic[i].src = "http://philosophy.do.am/_ph/1/1/559445124.jpg";
if(i==9) pic[i].src = "http://philosophy.do.am/_ph/1/1/292242334.jpg";
if(i==10) pic[i].src = "http://philosophy.do.am/_ph/1/1/2741410.jpg";
if(i==11) pic[i].src = "http://philosophy.do.am/_ph/1/1/312659858.jpg";
if(i==12) pic[i].src = "http://philosophy.do.am/_ph/1/1/333153864.jpg";
if(i==13) pic[i].src = "http://philosophy.do.am/_ph/1/1/811066713.jpg";
if(i==14) pic[i].src = "http://philosophy.do.am/_ph/1/1/108915398.jpg";
if(i==15) pic[i].src = "http://philosophy.do.am/_ph/1/1/661197254.jpg";
if(i==16) pic[i].src = "http://philosophy.do.am/_ph/1/1/255266572.jpg";
if(i==17) pic[i].src = "http://philosophy.do.am/_ph/1/1/507281622.jpg";
if(i==18) pic[i].src = "http://philosophy.do.am/_ph/1/1/996088137.jpg";
if(i==19) pic[i].src = "http://philosophy.do.am/_ph/1/1/870834686.jpg";
if(i==20) pic[i].src = "http://philosophy.do.am/_ph/1/1/507281622.jpg";
if(i==21) pic[i].src = "http://philosophy.do.am/_ph/1/1/496256382.jpg";
}
так ребята с форума присваивают ссылки списку изображений
Что это вообще за хуйня "программист java"? Аналог водителя запорожца, повара борща, писателя рассказа? Но с другой стороны логика в этом присутствует: жабапидор далеко не программист, даже не человек и сегодня ему предстоит....