- 1
- 2
- 3
function intersectRange (r1, r2) {
return !(Math.max(r1['min'], r2['min']) > Math.min(r1['max'], r2['max']));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
function intersectRange (r1, r2) {
return !(Math.max(r1['min'], r2['min']) > Math.min(r1['max'], r2['max']));
}
Пересечения диапазонов.
Это то самое, которое: (r1[min] <= r2[max]) and (r1[max] >= r2[min])
Я ж джва года над этим думал, прежде чем накласть.
−1
template <typename T>
void doSomething(const T& i_field, unsigned int i_offset)
{
...
}
template <>
void doSomething<Boo>(const Boo& i_field, unsigned int i_offset)
{
doSomething(i_field.aaa, i_offset + offsetof(Boo, aaa));
doSomething(i_field.bbb, i_offset + offsetof(Boo, bbb));
doSomething(i_field.ccc, i_offset + offsetof(Boo, ccc));
}
...
template <class T, typename S>
void addSomething(S T::* i_pField)
{
const T* pR = 0;
const unsigned int offset = (unsigned int)&(pR->*i_pField);
doSomething(pR->*i_pField, offset);
}
Увидел вот такой код (рабочий!) в одном довольно крупном проекте.
+1
langDict0.Add(eng , new string[] { ger, fre, spa, chi, rus, jap, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(ger , new string[] { eng, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(fre , new string[] { eng, ger, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(spa , new string[] { eng, ger, fre, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(chi , new string[] { eng });
langDict0.Add(rus , new string[] { eng });
langDict0.Add(jap , new string[] { eng });
langDict0.Add(por , new string[] { eng, ger, fre, spa, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(ita , new string[] { eng, ger, fre, spa, por, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(dut , new string[] { eng, ger, fre, spa, por, ita, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(pol , new string[] { eng, ger, fre, spa, por, ita, dut, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(swe , new string[] { eng, ger, fre, spa, por, ita, dut, pol, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(dan , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(fin , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(gre , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(cze , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(rom , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, hun, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(hun , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, slvk, bul, slvn, lit, lat, est, mal });
langDict0.Add(slvk, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, bul, slvn, lit, lat, est, mal });
langDict0.Add(bul , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, slvn, lit, lat, est, mal });
langDict0.Add(slvn, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, lit, lat, est, mal });
langDict0.Add(lit , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lat, est, mal });
langDict0.Add(lat , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, est, mal });
langDict0.Add(est , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, mal });
langDict0.Add(mal, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est });
+3
.main_page_desktop .menu_home .menu_home_banner .catalog_home_banner .catalog__product:nth-child(1) a:hover .catalog__product_img:after {width: 40%;left: 27%;}
Верстаем по методологии БЭМ, не разобрашись в сути
0
} else if(location.href.split('#')[1] == 'optimal') {
var str = $($('.dropdown-section-title')[1]).text().trim();
$('#package_select').removeClass('services-package-start').addClass('services-package-optimal');
$('#package_select').text(str+' ('+$($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim()+')');
$('.package-overview-price p').text(pricesCost[getCookie('language')] + prices[parseInt($($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim())]);//+ pricesMonth[getCookie('language')]
$('.registration-section-right').find('.packages-overview-section').find('.package-overview-price').addClass('services-package-optimal');
$('.registration-section-left').find('.service-packages-select').find('span.value').removeClass('services-package-start').addClass('services-package-optimal').text(str+' ('+$($($('.form_select_body')[1]).find('.dropdown').find('.services-package-optimal')[1]).text().trim()+')');
+3
const char _LETTERS[] =
"000000000000000000000000000000000000000000000000000000000000000001111111111<...>";
const char _DIGITS[] =
"000000000000000000000000000000000000000000000000111111111100000000000000000<...>";
const char _CONTROL_CHARS[] =
"111111111111111111111111111111110000000000000000000000000000000000000000000<...>";
const char _PUNCT_CHARS[] =
"000000000000000000000000000000000111011111101111000000000011000110000000000<...>";
const char _SEP_CHARS[] =
"000000000000000000000000000000001000000000000000000000000000000000000000000<...>";
const char _SYM_CHARS[] =
"000000000000000000000000000000000000100000010000000000000000111000000000000<...>";
#define min(i,l,I) (((i) < (l)) ? (((i) < (I)) ? (i) : (I)) : (((l) < (I)) ? (l) : (I)))
bool CharIsLetter(wchar_t c) {
return _LETTERS[c] != L'0';
}
bool CharIsDigit(wchar_t c) {
return _DIGITS[c] != L'0';
}
bool CharIsControl(wchar_t c) {
return _CONTROL_CHARS[c] != L'0';
}
bool CharIsPunctuation(wchar_t c) {
return _PUNCT_CHARS[c] != L'0';
}
bool CharIsSeparator(wchar_t c) {
return _SEP_CHARS[c] != L'0';
}
bool CharIsSymbol(wchar_t c) {
return _SYM_CHARS[c] != L'0';
}
Лёшенька Кондратьев учится оптимизации
−101
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаАдресногоКлассификатора(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, НачальныйУровеньДетализации = 0, КонечныйУровеньДетализации = 5)
// Процедура организует выбор элементов по результату запроса
Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено,
ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора,
СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
Просто пара заголовков процедур из типовых конфигураций 1С (15 параметров, Карл, там 15 параметров!). Сопроводительные комментарии прилагаются.
К слову сами процедуры занимают не более 20 строк, но самое забавное заключается в том, что некоторые параметры вообще не используются при работе процедуры.
0
DataControl.b1. PointerReleased += async (a, b) => { await action(DataControl.b1); };
DataControl.b2. PointerReleased += async (a, b) => { await action(DataControl.b2); };
DataControl.b3. PointerReleased += async (a, b) => { await action(DataControl.b3); };
DataControl.b4. PointerReleased += async (a, b) => { await action(DataControl.b4); };
DataControl.sub41.PointerReleased += async (a, b) => { await action(DataControl.b1); };
DataControl.sub42.PointerReleased += async (a, b) => { await action(DataControl.b2); };
DataControl.sub43.PointerReleased += async (a, b) => { await action(DataControl.b3); };
DataControl.sub44.PointerReleased += async (a, b) => { await action(DataControl.b4); };
−94
Объект=Справочники.ПодразделенияОрганизаций.НайтиПоКоду(Касса.Владелец.Код);
Разгребаю агиевы конюшни после аутсорсеров. Подобная конструкция встретилась почти в 70 местах в конфигурации. Кто догадается, какого типа владелец у кассы?
+1
_workflowQueue = new Queue<IWorkflowInfo>(_workflowQueue.Where(w => !(w == workflow || w.WorkflowGuid == workflow.WorkflowGuid)));
Вот как надо делать, если из очереди нужно удалить произвольный элемент.
Использовать List?! Это для слабаков!