- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
return{
[1] = 100500,
[2] = 10,
x = {
[1] = "ss"
,
[2] = {
[1] = {
[1] = {
[1] = {
[1] = {
}
,
}
,
}
,
}
,
}
,
}
,
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
return{
[1] = 100500,
[2] = 10,
x = {
[1] = "ss"
,
[2] = {
[1] = {
[1] = {
[1] = {
[1] = {
}
,
}
,
}
,
}
,
}
,
}
,
}
Орфография сохранена, это моя старая сериализация. Ничего особенного, но когда сериализуем огромное количество таблиц с 100550 вложений, то внешний вид превращается хлеще брайнфака
+2
public class TradingAccounts {
private static HashMap<String, TradingAccounts> hashMap = new HashMap<String, TradingAccounts>();
....
public static void clear() throws Exception {
hashMap.clear();
TradingAccounts[] all = getAll();
for (TradingAccounts acc : all) {
hashMap.put(acc.getAccount().trim(), acc);
}
}
....
}
Production code.
При рефакторинге LEGACY приложения утерян вызов
TradingAccounts.clear()
По факту это привело к ошибке, т.к. этот справочник всегда оставался пустым.
Кто бы мог догадаться, что метод clear загружает данные из БД...
+2
// We have to put a separate function with 'if constexpr' here as Visual Studio
// produces a false positive warning in a case of RegDstUInt == uint32
// (shifting uint32 left by 32 is an undefined behavior)
// See: https://developercommunity.visualstudio.com/content/problem/225040/c4293-false-positive-on-unreacheable-code.html
static RegDstUInt get_hi_part( RegDstUInt value)
{
// Clang-Tidy generates a false positive 'misc-suspicious-semicolon' warning
// on `if constexpr ()` with template
// LLVM bug 35824: https://bugs.llvm.org/show_bug.cgi?id=35824
if constexpr( (sizeof(RegDstUInt) > 4)
return value >> 32; // NOLINT
// GCC bug 81676 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81676
// Wrong warning with unused-but-set-parameter within 'if constexpr'
(void)(value);
return 0;
}
В попытке починить сборку в Visual Studio поломали GCC и Clang-Tidy.
+2
//Шапка таблицы
cout << setw(10) <<char(218) <<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(194)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(194)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(191) <<endl;
cout <<setw(10) <<char(179) <<setw(10) <<"X" <<setw(10) <<char(179) <<setw(10) <<"F" <<setw(10)
<<char(179) <<setw(10) <<"G" <<setw(10) <<char(179) <<endl;
for (i = 0; i <= N; i++) {
x = A + i*h;
F = (x-1)*(x-1)*(x-1);
G = ((x+5)*(x+5)*(x+5))/(1+(sin(x)*sin(x)));
//Вывод в таблицу
cout <<setw(10) << char(195)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(197)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(197)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(180)<<endl;
cout << setw(10) << char(179) << setw(10)<< x << setw(10) << char(179) << setw(10)<< setprecision(5) << F << setw(10) << char(179) << setw(10) << setprecision(6) << G << setw(10) << char(179) << endl;
} //for (i = 0; i <= N; i++)
//Конец таблицы
cout << setw(10) << char(192)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(193)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(193)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)<<char(196)
<<char(217)<<endl;
eto pizdez prosto, ya lettau blyad
+2
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include<iomanip>
using namespace std;
int main()
{
string word;
setlocale(LC_ALL, "Russian");
char s[80];
fstream inOut;
multimap<string, int>my;
multimap<string, int>::iterator it;
inOut.open("text.txt", ios::in);
for (int i = 1; i < 40; i++) {
inOut.getline(s, 256);
char* pch;
pch = strtok(s, " ,-:;");
while (pch != NULL) {
word = string(pch);
my.insert(pair <string, int>(pch, i));
//cout << pch <<'\t'<<i<< endl;
pch = strtok(NULL, " ,-:");
}
}
inOut.close();
//cout << s;
for (it = my.begin(); it != my.end(); it++) {
cout.width(25);
cout << (*it).first <<setw(5) << (*it).second << endl;
}
system("pause");
return 0;
}
Берёт из текста строки и сортирует в алфавитном порядке
+2
foreach ($imagesData['file_title'] as $i1 => $d1) {
usleep(5);
if($i1>0) {
Media::find($i1)->update(['title'=>$imagesData['file_title'][$i1]]);
}
}
foreach ($imagesData['author_name'] as $i2 => $d2) {
usleep(5);
if($i2>0) {
Media::find($i2)->update(['author_name'=>$imagesData['author_name'][$i2]]);
}
}
foreach ($imagesData['author_link'] as $i3 => $d3) {
usleep(5);
if($i3>0) {
Media::find($i3)->update(['author_url'=>$imagesData['author_link'][$i3]]);
}
}
foreach ($imagesData['source_link'] as $i4 => $d4) {
usleep(5);
if($i4>0) {
Media::find($i4)->update(['source_url'=>$imagesData['source_link'][$i4]]);
}
}
foreach ($imagesData['license_name'] as $i5 => $d5) {
usleep(5);
if($i5>0) {
Media::find($i5)->update(['license_name'=>$imagesData['license_name'][$i5]]);
}
}
foreach ($imagesData['license_link'] as $i6 => $d6) {
usleep(5);
if($i6>0) {
Media::find($i6)->update(['license_url'=>$imagesData['license_link'][$i6]]);
}
}
Laravel, блять.
Вот и пусти араба в свою ветку.
+2
Pyhton 2:
>>> (2**54/1) + 10 - 10 == 2**54
True
>>> (2**64/1) + 10 == 2**64
False
Pyhton 3:
>>> (2**54/1) + 10 - 10 == 2**54
False
>>> (2**64/1) + 10 == 2**64
True
Pyhton 2: https://ideone.com/iqwl8L
Pyhton 3: https://ideone.com/ltG9Fq
Ну охуеть теперь.
x + 10 - 10 != x в общем случае - это норма?
Я всё понимаю - тяжёлое детство, инты, прибитые к железу, но на кой чёрт в современных интерпретируемых языках такое говнище?
+2
// https://github.com/Samsung/ADBI/blob/3e424c45386b0a36c57211da819021cb1929775a/idk/include/division.h#L138
/* Long division by 10. */
static unsigned long long int div10l(unsigned long long int v) {
/* It's a kind of magic. We achieve 64-bit (long) division by dividing the two 32-bit halfs of the number 64-bit
* number. The first (most significant) half can produce a rest when dividing, which has to be carried over to the
* second half. The rest_add table contains values added to the second half after dividing depending on the rest
* from the first division. This allows evaluation of a result which is almost correct -- it can be either the
* expected result, or the expected result plus one. The error can be easily detected and corrected.
*/
/* one dream */
static unsigned long long int rest_add[] = {
0x00000000, 0x1999999a, 0x33333334, 0x4ccccccd, 0x66666667,
0x80000001, 0x9999999a, 0xb3333334, 0xcccccccd, 0xe6666667
};
/* one soul */
unsigned long long int a = div10((unsigned int)(v >> 32));
unsigned long long int b = div10((unsigned int)(v & 0xffffffff));
/* one prize */
int ri = (v >> 32) - a * 10;
/* one goal */
unsigned long long int ret = (a << 32) + b + rest_add[ri];
/* one golden glance */
if (ret * 10L > v) {
//printf("OGG %llu %llu\n", ret * 10, v);
--ret;
}
/* of what should be */
return ret;
}
Деление на 10. Но зачем? Неужели компилятор настолько туп, что сам не может этого сделать?
И да, эти туповатые комментарии one dream, one soul это отсылка к песне Queen - A Kind of Magic https://youtu.be/0p_1QSUsbsM
+2
MyType(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const CopyPastedFromSomewhere&) = delete;
MyType& operator=(const MyType*) = delete;
// Winner?
MyType& MyType(const MyType&) = delete;
А что можно найти в вашей кодовой базе? К слову, выяснилось, что вариант
void operator=(const MyType&) = delete;
вполне себе допустим.
+2
typedef unsigned int uint;
uint inc(uint i) {
return i+1;
}
uint dec(uint i) {
return i-1;
}
uint add(uint a, uint b) {
return 0==b ? a : add(inc(a),dec(b));
}
inline uint _mul(uint a, uint b, uint r) {
return 0==b ? r : _mul(a,b-1,r+a);
}
uint mul(uint a, uint b) {
return _mul(a,b,0);
}
uint dec_mul(uint a, uint b, uint r) {
return 0==b ? r : dec_mul(a,dec(b),r+a);
}
//gcc 7 здесь сходит с ума на O3, шланг невозмутимо ставит imul edi, esi
uint crazy_mul(uint a, uint b, uint r) {
return 0==b ? r : crazy_mul(a,dec(b),add(r,a));
}
//арифметическая прогрессия.
inline uint _sum(uint a,uint s) {
return a==0 ? s :_sum(a-1,s+a);
}
//gcc: сложна нипанятна
uint sum(uint a) {
return _sum(a,0);
}
//шланг:
// imul rcx, rax
// shr rcx
uint sum1(uint a) {
uint s=0;
for (int i=0;i<a;++i){
s+=i;
}
return s;
}
Смотрим как компиляторы решают разные упоротые рекурентные задачки.
https://godbolt.org/g/4JZuPr