- 1
http://wiki.php.net/rfc/functionarraydereferencing
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
http://wiki.php.net/rfc/functionarraydereferencing
На днях наткнулся вот такую ночную вазу с хорошо выдержанным содержимым.
Копипастить не буду, просто загляни под крышку.
Речь идет о том чтобы спустя 10 лет наконец пропатчить невозможность обращения к элементу массива без использования промежуточной переменной, если массив возвращается функцией (коих функций в Personal Home Page сотни).
Также обратите внимание на даты.
+89
void __fastcall TForm1::FormPaint(TObject *Sender)
{
for(int i=0;i<2;i++)
{
if(!White[i].Moves)
{
int j=0;
for(int k=0;k<i;k++)
{
if(White[k].Position == White[i].Position)
{
j++;
}
}
Image1->Canvas->MoveTo(Points[White[i].Position-1].X-20,Points[White[i].Position-1].Y - 30*j);
Image1->Canvas->LineTo(Points[White[i].Position-1].X+20,Points[White[i].Position-1].Y - 30*j);
}
}
//Image1->Canvas->LineTo(200,200);
}
Этот обработчик грузит проц. на 50 процентов и таймер не работает из-за него.
Писал мой знакомый, который не любит продукты от борланда.
В чем дерьмо? Думаю видно невооруженным глазом.
+1
// Всем привет. Я тоже принёс говнокода, но в необычном формате.
// А именно, я написал мини-книгу "60 антипаттернов для С++ программиста".
// https://pvs-studio.ru/ru/blog/posts/cpp/1053/
Там вы найдёте и реальный C++ говнокод и просто вредные советы в духе "Пишите код так, как будто его будет читать председатель жюри IOCCC и он знает, где вы живёте (чтоб приехать и вручить вам приз)".
Если сразу не понятно почему "совет" вреден, то там есть соответствующий разбор.
Готов подискутировать про написанное. Ну и приглашаю накидывать в комментариях аналогичные советы.
P.S. Предупреждаю: там много букв. Сразу запасайтесь кофе/энергетиком. Или попкорном :)
−4
Тред отсоса прыщеблядей
(потёр nugop cpakep)
0
var x1: number;
x1 = value;
(x1) = value;
чем одна строка отличается от другой?
+1
#include <iostream>
#include <map>
int main()
{
std::string name;
std::map<int, int> m = { {1, 1}, {2, 2} };
m.erase(m.end());
std::cout << "Kokoko " << m[1] << std::endl;
}
На моем проекте уходит в бесконечный цикл.
−1
https://www.npmjs.com/package/mkdirp
https://www.npmjs.com/package/mkdirp2
https://www.npmjs.com/package/mkdirp-classic
https://www.npmjs.com/package/mkdirp-infer-owner
https://www.npmjs.com/package/mkdirp-then
https://www.npmjs.com/package/mkdirp-promise
https://www.npmjs.com/package/mkdir-parents
https://www.npmjs.com/package/mkdir-p
https://www.npmjs.com/package/node-mkdir-p
https://www.npmjs.com/package/mkdir-p-bluebird
https://www.npmjs.com/package/mkdirt
https://www.npmjs.com/package/mkdir-native
Description:
Linux command mkdir -p.
0
class std::unordered_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,
enum REG,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,
class std::allocator<char> > const ,enum REG> > > registers"
(?registers@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4REG@@U?$hash@V?$
basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?
$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4
REG@@@std@@@2@@std@@A) уже определен в decoder.obj PVC-16 C:\Users\Люда\source\repos\PVC-16\PVC-16\interrupt.obj 1
Похлопаем visual c++ за понятный лог.
+2
Definition idx_compl_r {i : Fin.t N} (j : Fin.t i) : Fin.t N.
remember (fin_to_nat i) as i'.
assert (Hlt : i' < N).
{ rewrite Heqi'. eapply fin_to_nat_lt. }
assert (Heq : i' + (N - i') = N) by lia.
set (j' := Fin.L (N - i') j).
rewrite Heq in j'.
exact j'.
Defined.
Ещё один говношедевр. Как кастовать значения типа Fin.t (число в интервале от 1 до N) друг в друга. Разворачивается в 12000 строк кода. "Тому, кто это придумал, надо в голову гвоздь забить".
+1
// https://jaycarlson.net/2019/09/06/whats-up-with-these-3-cent-microcontrollers/
// The C code I used for those original MCU tests looked something like this:
volatile int16_t in[25];
volatile int16_t out[25];
const int16_t a0 = 16384;
const int16_t a1 = -32768;
const int16_t a2 = 16384;
const int16_t b1 = -25576;
const int16_t b2 = 10508;
int16_t z1, z2;
int16_t outTemp;
int16_t inTemp;
void main()
{
while(1) {
_pa = 2;
for(i=0;i<25;i++)
{
inTemp = in[i];
outTemp = inTemp * a0 + z1;
z1 = inTemp * a1 + z2 - b1 * outTemp;
z2 = inTemp * a2 - b2 * outTemp;
out[i] = outTemp;
}
_pa = 0;
}
}
// The Padauk code looks like this:
WORD in[11];
WORD out[11];
WORD z1, z2;
WORD pOut, pIn; // these are pointers, but aren't typed as such
int i;
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/2 // SYSCLK=IHRC/2
PAC.6 = 1; // make PA6 an output
while(1) {
PA.6 = 1;
pOut = out;
pIn = in;
i = 0;
do {
*pOut = (*pIn << 14) + z1;
z1 = -(*pIn << 15) + z2
+ (*pOut << 14)
+ (*pOut << 13)
+ (*pOut << 9)
+ (*pOut << 8)
+ (*pOut << 7)
+ (*pOut << 6)
+ (*pOut << 5)
+ (*pOut << 3);
z2 = (*pIn << 14)
- (*pOut << 13)
- (*pOut << 11)
- (*pOut << 8)
- (*pOut << 3)
- (*pOut << 2);
i++;
pOut++;
pIn++;
} while(i < 11);
PA.6 = 0;
}
}
> As for the filter function itself, you’ll see that all the multiplies have been replaced with shift-adds. The Padauk part does not recognize the * operator for multiplication; trying to use it to multiply two variables together results in a syntax error. No, I’m not joking.