- 1
- 2
- 3
- 4
- 5
IT Оффтоп #4
#1: http://govnokod.ru/18142
#2: http://govnokod.ru/18378
#3: http://govnokod.ru/19667
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+484
IT Оффтоп #4
#1: http://govnokod.ru/18142
#2: http://govnokod.ru/18378
#3: http://govnokod.ru/19667
+8
Program L_121;
uses crt;
Var N : integer;
b,z : string;
f1 : text;
Begin
assign(f1,'Единица измерения.txt');
writeln('1 Соотношение конкретной единицы измерения длины');
writeln('2 Соотношение единиц измерения длины');
writeln('3 Обозначение единиц измерения длины');
writeln('4 Назначение единиц измерения длины');
read(N);clrscr;
reset(f1);
case N of
1:begin
write('Введите единицу измерения : ');
read(b);clrscr;
readln(f1,z);writeln(z);
if b='миллиметр' then begin readln(f1,z);writeln(z); end;
if b='сантиметр' then begin readln(f1,z);readln(f1,z);writeln(z); end;
if b='дециметр' then begin readln(f1,z);readln(f1,z);readln(f1,z);writeln(z);end;
if b='метр' then begin readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);writeln(z);end;
if b='километр' then begin readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);writeln(z); end;
end;
2:begin
readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);
end;
3:begin
readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);
writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);
end;
4:begin
readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);readln(f1,z);
readln(f1,z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);readln(f1,z);writeln(z);
end;
end;
End.
4 года назад я так писал код)
−79
int main( void )
{
fraction f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15;
fraction t1f1, t1f2, t1f3, t1f4, t1f5, t1f6, t1f7, t1f8, t1f9, t1f10, t1f11, t1f12, t1f13, t1f14, t1f15;
fraction t2f1, t2f2, t2f3, t2f4, t2f5, t2f6, t2f7, t2f8, t2f9, t2f10, t2f11, t2f12, t2f13, t2f14, t2f15;
fraction t3f1, t3f2, t3f3, t3f4, t3f5, t3f6, t3f7, t3f8, t3f9, t3f10, t3f11, t3f12, t3f13, t3f14, t3f15;
fraction t4f1, t4f2, t4f3, t4f4, t4f5, t4f6, t4f7, t4f8, t4f9, t4f10, t4f11, t4f12, t4f13, t4f14, t4f15;
fraction t5f1, t5f2, t5f3, t5f4, t5f5, t5f6, t5f7, t5f8, t5f9, t5f10, t5f11, t5f12, t5f13, t5f14, t5f15;
fraction t6f1, t6f2, t6f3, t6f4, t6f5, t6f6, t6f7, t6f8, t6f9, t6f10, t6f11, t6f12, t6f13, t6f14, t6f15;
fraction t7f1, t7f2, t7f3, t7f4, t7f5, t7f6, t7f7, t7f8, t7f9, t7f10, t7f11, t7f12, t7f13, t7f14, t7f15;
fraction t8f1, t8f2, t8f3, t8f4, t8f5, t8f6, t8f7, t8f8, t8f9, t8f10, t8f11, t8f12, t8f13, t8f14, t8f15;
fraction t9f1, t9f2, t9f3, t9f4, t9f5, t9f6, t9f7, t9f8, t9f9, t9f10, t9f11, t9f12, t9f13, t9f14, t9f15;
fraction t10f1, t10f2, t10f3, t10f4, t10f5, t10f6, t10f7, t10f8, t10f9, t10f10, t10f11, t10f12, t10f13, t10f14, t10f15;
fraction t11f1, t11f2, t11f3, t11f4, t11f5, t11f6, t11f7, t11f8, t11f9, t11f10, t11f11, t11f12, t11f13, t11f14, t11f15;
fraction t12f1, t12f2, t12f3, t12f4, t12f5, t12f6, t12f7, t12f8, t12f9, t12f10, t12f11, t12f12, t12f13, t12f14, t12f15;
fraction t13f1, t13f2, t13f3, t13f4, t13f5, t13f6, t13f7, t13f8, t13f9, t13f10, t13f11, t13f12, t13f13, t13f14, t13f15;
fraction t14f1, t14f2, t14f3, t14f4, t14f5, t14f6, t14f7, t14f8, t14f9, t14f10, t14f11, t14f12, t14f13, t14f14, t14f15;
fraction t15f1, t15f2, t15f3, t15f4, t15f5, t15f6, t15f7, t15f8, t15f9, t15f10, t15f11, t15f12, t15f13, t15f14, t15f15;
fraction current;
current.getnum( 1 );
int den( 0 );
int num ( 1 );
do
{
cout << "Enter den: ";
cin >> den;
if( den > 16 )
{
cout << "Very big den! Try again!" << endl;
continue;
}
if( den < 2 )
{
cout << "Very small den! Try again!" << endl;
continue;
}
current.getden( den );
}
while( den > 16 || den < 2 );
//////////////////////////////////////////////////////////////////////////////////////////////
cout << endl;
cout << "----------------------------------------------------------------------" << endl;
f1 = current;
f1.showfrac( ); cout << " ";
current.getnum( ++num );
if( den > num )
{
f2 = current;
f2.lowterms( );
f2.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f3 = current;
f3.lowterms( );
f3.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f4 = current;
f4.lowterms( );
f4.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f5 = current;
f5.lowterms( );
f5.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f6 = current;
f6.lowterms( );
f6.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f7 = current;
f7.lowterms( );
f7.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f8 = current;
f8.lowterms( );
f8.showfrac( ); cout << " ";
}
current.getnum( ++num );
if( den > num )
{
f9 = current;
Выполнение задания. Массивы? Проверка ввода? Не, не слышали!
+26
for(devIndex=0;SetupDiEnumDeviceInfo(devs,devIndex,&devInfo);devIndex++) {
if(doSearch) {
for(argIndex=skip,match=FALSE;(argIndex<argc) && !match;argIndex++) {
TCHAR devID[MAX_DEVICE_ID_LEN];
LPTSTR *hwIds = NULL;
LPTSTR *compatIds = NULL;
//
// determine instance ID
//
if(CM_Get_Device_ID_Ex(devInfo.DevInst,devID,MAX_DEVICE_ID_LEN,0,devInfoListDetail.RemoteMachineHandle)!=CR_SUCCESS) {
devID[0] = TEXT('\0');
}
...
}
Лучший стиль форматирования кода от индусов из MS.
Код взят из этого файла:
https://github.com/Microsoft/Windows-driver-samples/blob/master/setup/devcon/devcon.cpp
В других файлах код примерно аналогичный.
+99
// enum WithdrawalRequestStatus {... }
// WithdrawalRequestStatus withdrawalRequestStatus = [...]
switch (Convert.ToInt32(withdrawalRequestStatus))
{
case 0:
requestStatus = "New";
break;
case 1:
requestStatus = "Canceled";
break;
case 2:
requestStatus = "Rejected";
break;
case 3:
requestStatus = "Additional Info Required";
break;
case 4:
requestStatus = "Ready For Approval";
break;
case 5:
requestStatus = "Approved For Payout";
break;
case 6:
requestStatus = "Paid Out";
break;
}
+3
//Функция возвращает упорядоченную строку значений параметров POST-запроса
function getReqParams(){
$reqparams = "";
ksort($_POST);
foreach ($_POST as $param => $valuep) {
$reqparams = "$reqparams|$valuep";
}
return substr($reqparams,1);
}
//Извлечение цифровой подписи из заголовков запроса
function getSign(){
$HEADERS = getallheaders();
foreach ($HEADERS as $header => $value) {
if ($header == 'X-Api-Signature') {
$SIGN_REQ = $value;
}
}
return $SIGN_REQ;
}
QIWI Official Documentation
Псс… посоны, у нас тут есть кусок из оф. документации QIWI. Зацените ))
0
#!/bin/apple/huyapple
#
# Почему, блять, в эппловских push-уведомлениях установлено ограничение в 256 байт на одно сообщение,
# при этом мета-данные пакуются (хоть как-то), а полезная, блять, нагрузка - ни хуя?
# Для полезной нагрузки, блять, используется JSON формат.
#
# Блять, либо ограничение снять, либо не JSON использовать. Заебали.
goo.gl/4c2ntb
−103
&НаСервере
Процедура ОтсортироватьЧТ()
ТЧсерНомера = Объект.СерийныеНомера;
ТЧсерНомера.Сортировать("IDСтрокиТЧМатериалы Возр, СерийныйНомер Убыв");
КонецПроцедуры // ()
+410
CBroadcastPropPP::CBroadcastPropPP()
{
m_bAdminMode = FALSE;
m_aProps.Add(new CRPProp_01);
m_aProps.Add(new CRPProp_02);
m_aProps.Add(new CRPProp_021);
m_aProps.Add(new CRPProp_022);
m_aProps.Add(new CRPProp_03);
m_aProps.Add(new CRPProp_05);
m_aProps.Add(new CRPProp_06);
m_aProps.Add(new CRPProp_07);
}
#define PPPos_Dir 0
#define PPPos_Recursive 1
#define PPPos_Masks 2
#define PPPos_MaxSize 3
#define PPPos_Archive 4
#define PPPos_Subject 5
#define PPPos_Types 6
#define PPPos_MaxRcpt 7
#define PPPos_BCC 8
void CBroadcastPropPP::Initialize(IRegistrator* pRegistrator)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
m_pRegistrator=pRegistrator;
((CRPProp_01*)(m_aProps[PPPos_Dir]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_02*)(m_aProps[PPPos_Recursive]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_021*)(m_aProps[PPPos_Masks]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_022*)(m_aProps[PPPos_MaxSize]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_03*)(m_aProps[PPPos_Archive]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator);
((CRPProp_05*)(m_aProps[PPPos_Types]))->_Initialize(&m_pRegistrator->m_DB,m_pRegistrator->m_sStartupPath);
((CRPProp_06*)(m_aProps[PPPos_MaxRcpt]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator );
((CRPProp_07*)(m_aProps[PPPos_BCC]))->_Initialize(m_pRegistrator->m_sStartupPath, m_pRegistrator );
}
CBroadcastPropPP::~CBroadcastPropPP()
{
delete (CRPProp_01*)m_aProps[PPPos_Dir];
delete (CRPProp_02*)m_aProps[PPPos_Recursive];
delete (CRPProp_021*)m_aProps[PPPos_Masks];
delete (CRPProp_022*)m_aProps[PPPos_MaxSize];
delete (CRPProp_03*)m_aProps[PPPos_Archive];
delete (CRPProp_05*)m_aProps[PPPos_Types];
delete (CRPProp_06*)m_aProps[PPPos_MaxRcpt];
delete (CRPProp_07*)m_aProps[PPPos_BCC];
}
«Вот что бывает, когда пишешь на C++, не зная, зачем нужны виртуальные деструкторы...
классы CRPProp_0n - производные от общего базового класса. Вроде задумка неплохая, можно работать с их массивом, удобно. Но видимо, что-то не заладилось, почему-то их методы не вызывались (про виртуальные функции разработчик не знал)... И тут на выручку эмо-кодеру пришло приведение типов! Правда, про работу с массивом в цикле пришлось забыть...»
Источник: http://emo-coders.livejournal.com/59977.html
0
public static function getTree($version, $lang = 'en')
{
$pt_root = KbTree::findOne(($version == 'pt2') ?
KbTree::NODE_PT2 : KbTree::NODE_PT3);
$list = $pt_root
->children()
->andWhere(['root' => ($version == 'pt2') ? KbTree::NODE_PT2 : KbTree::NODE_PT3])
->andWhere(['visible' => 1, 'pub' => 1])
->orderBy('lft ASC')
->all();
$tree = [$pt_root->id => []];
$currentLevel = 1;
$levelsIds[$currentLevel] = $pt_root->id;
$dic = [];
foreach($list as $key => $_node)
{
if(isset($_node->level, $_node->id))
{
$dic[$_node->id][] = $_node->getTranslateMessage($lang);
$dic[$_node->id][] = $_node->getFullAlias();
$currentLevel = $_node->level;
switch($_node->level) {
case 2:
$tree[$levelsIds[1]][$_node->id] = [];
break;
case 3:
$tree[$levelsIds[1]][$levelsIds[2]][$_node->id] = [];
break;
case 4:
$tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$_node->id] = [];
break;
case 5:
$tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$_node->id] = [];
break;
case 6:
$tree[$levelsIds[1]][$levelsIds[2]][$levelsIds[3]][$levelsIds[4]][$levelsIds[5]][$_node->id] = [];
break;
}
$levelsIds[$currentLevel] = $_node->id;
}
}
return [$tree[$pt_root->id], $dic];
}
Получение дерева каталогов от PHP middle developer