- 1
- 2
- 3
// Всем привет. Я тоже принёс говнокода, но в необычном формате.
// А именно, я написал мини-книгу "60 антипаттернов для С++ программиста".
// https://pvs-studio.ru/ru/blog/posts/cpp/1053/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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.
+2
if($_GET['page']==''){include($_SERVER['DOCUMENT_ROOT'].'/page/catalog.php');}
if($_GET['page']=='product'){include($_SERVER['DOCUMENT_ROOT'].'/page/product.php');}
if($_GET['page']=='category'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
if($_GET['page']=='subcatalog'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
if($_GET['page']=='subcategory'){include($_SERVER['DOCUMENT_ROOT'].'/page/subcategory.php');}
if($_GET['page']=='dressing'){include($_SERVER['DOCUMENT_ROOT'].'/page/dressing.php');}
if($_GET['page']=='consultant'){include($_SERVER['DOCUMENT_ROOT'].'/page/consultant.php');}
if($_GET['page']=='stock'){include($_SERVER['DOCUMENT_ROOT'].'/page/stock.php');}
if($_GET['page']=='hit'){include($_SERVER['DOCUMENT_ROOT'].'/page/hit.php');}
2019 год. Проект был написан год назад чуваками из провинции. Зато на фронтенде Angular.
−2
Program Aliski;
uses Graphabc;
begin
SetWindowWidth(800);
SetWindowHeight(600);
SetPenWidth(3);
SetFontSize(18);
SetFontColor(clGreen);
rectangle(85,80,500,140);
TextOut(100,100,'Алексей у тебя реально 10см?');
Circle(350,500, 40);
Circle(430,500, 40);
FloodFill(350,500,clSkyBlue);
FloodFill(430,500,clPurple);
Line(350,460,350,250);
Line(430,460,430,250);
Line(340,250,440,250);
Line(390,220,390,200);
Arc(390,250,50,0,180);
end.
Ученик решил поприкалываться над товарищем на уроке