- 1
- 2
- 3
Давайте хвалить "C++"
https://m.vk.com/video-72495085_456239260?list=e8cb53a2003660e817&from=wall-72495085_852669
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Давайте хвалить "C++"
https://m.vk.com/video-72495085_456239260?list=e8cb53a2003660e817&from=wall-72495085_852669
+3
class ... {
void enable(bool enabled = false);
}
+3
Если (Строка(Объект.ДатаНач) = "01.01.0001 0:00:00") или (Строка(Объект.ДатаКон) = "01.01.0001 0:00:00") Тогда
ТекстСообщения = НСтр("ru = 'Задайте период формирования отчета!
|Должны быть заполнены дата начала и дата окончания периода.'");
Предупреждение(ТекстСообщения);
Возврат;
КонецЕсли;
Проверка даты от лучшего программиста организации с ЗП 100k р
−2
static func == (lhs: Card, rhs: Card) -> Bool {
return (lhs.color == rhs.color &&
lhs.number == rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color == rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number == rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol)
}
Пытаюсь реализовать правила игры в Set протоколом Equatable. Говнокод?
+1
// https://github.com/Navadvipa-Chandra-das/prabhupada_calendar/blob/master/source/Prabhupada_convert.d
bool день_ли_это;
Тип_строки вид_строки;
Класс_Хитрый_накопитель Хитрый_накопитель = new Класс_Хитрый_накопитель( !Нужно_ли_удалять_пустые_дни, !Нужно_ли_удалять_пустые_дни_окончания_поста, Выходной_файл );
// цикл не простой, а с меткой "цикл"
цикл: while ( ( строка = Входной_файл.readln() ) !is null ) {
if ( Нужно_ли_удалять_служебные_строки ) {
if ( строка.length < 3 )
// чудо, а не возможность! Можно делать любые переходы и вылеты из множества вложенных циклов!
continue цикл;
служебная_строка = matchFirst( строка, выражение_служебная_строка );
if ( служебная_строка.captures.length > 0 )
continue цикл;
}
день_месяца = matchFirst( строка, выражение_день );
день_ли_это = день_месяца.captures.length > 0;
if ( день_ли_это ) {
вид_строки = Тип_строки.День;
if ( Нужна_ли_табуляция ) {
строка = "\t"c ~ день_месяца.captures[ 1 ] ~ "\t"c ~ день_месяца.captures[ 2 ] ~ "\t"c ~ день_месяца.captures[ 3 ] ~
"\t"c ~ день_месяца.captures[ 4 ] ~ "\t"c ~ день_месяца.captures[ 6 ].stripRight() ~ "\t"c ~ день_месяца.captures[ 7 ] ~
"\t"c ~ день_месяца.captures[ 8 ] ~ "\t"c ~ день_месяца.captures[ 10 ];
// обрабатываем "звездочку" поста
if ( день_месяца.captures[ 11 ].indexOf( '*' ) != -1 )
строка ~= "\t*"c;
строка ~= "\n";
}
// Удаляем, при желании комментрий к Экадаши - подходит для поста и не додходит для поста. Все равно есть еще символ звездочка и
// строка с именем Экадаши и явным упоминанием о посте!
if ( Нужно_ли_удалять_комментарий_Экадаши ) {
строка = replaceFirst( строка, выражение_для_чистки_комментария_Экадаши, ""c );
}
} else {
проверка_месяца = matchFirst( строка, выражение_месяц_ли_это );
if ( проверка_месяца.captures.length > 0 ) {
вид_строки = Тип_строки.Месяц;
// Просто удаляем цепочку начальных пробелов в строках месяца, если готовим табуляцию
if ( Нужна_ли_табуляция )
строка = replaceFirst( строка, выражение_цепочка_пробелов_в_начале_строки, ""c );
} else {
// Заменяем цепочку пробелов вначале строки на один единственный символ табуляции для праздников, но только если нужна табуляция
пробелы_в_начале_строки = matchFirst( строка, выражение_цепочка_пробелов_в_начале_строки );
if ( пробелы_в_начале_строки.captures.length > 0 ) {
окончание_поста = matchFirst( строка, выражение_окончание_поста );
if ( окончание_поста.captures.length > 0 )
вид_строки = Тип_строки.Окончание_поста;
else
вид_строки = Тип_строки.Праздник;
if ( Нужна_ли_табуляция )
строка = replaceFirst( строка, выражение_цепочка_пробелов_в_начале_строки, "\t"c );
} else
вид_строки = Тип_строки.Солнце;
}
}
// Удаляем строки из тире и GCal, но только если нужна табуляци. В книге они не нужны.
// Можно указать номер версии программы GCal в колонтитулах книги при желании
if ( Нужна_ли_табуляция ) {
if ( вид_строки == Тип_строки.Месяц )
строка = replaceAll( строка, выражение_для_чистки_Месяца, ""c );
if ( вид_строки == Тип_строки.Солнце )
строка = replaceAll( строка, выражение_для_чистки_Солнца, ""c );
}
// Переводим сначала фразы. Длительная операция, так как переводятся все имеющиеся фразы, не зависимо от того, встречаются ли они в строке или нет
foreach ( ref фраза; фразы )
строка = replaceAll( строка, regex( фраза ), _Словарь_фраз[ фраза ] );
// Переводим слова. Быстрее, так как переводятся только те слова, которые встречаются в данной конкретной строке
слова = std.regex.split( строка, выражение_разделитель );
// сортируем, чтобы короткие слова не позаменялись в более длинных словах внутри
// Вдохнули поглубже! Такого чуда я еще не видел! Не иначе как mixin в действии!
слова.sort!( "a.length > b.length" );
foreach ( ref слово; слова )
if ( слово.length > 0 )
строка = replaceAll!( Чудо_слов )( строка, regex( слово ) );
Хитрый_накопитель.В_копилку( строка, вид_строки );
}
// Пропихнем в файл последнюю строку
Хитрый_накопитель.В_копилку( ""c, Тип_строки.День );
window.showMessageBox( UIString.fromId( "ЧЕСТЬ_ИМЕЮ_ДОЛОЖИТЬ"c ),
UIString.fromId( "ЗАДАНИЕ_ВЫПОЛНЕНО!"c ) );
}
Кришнаит, пишущий на языке D в стиле 1С
+1
select
x1.airport, x1.amount, x1.exempt
from
Taxes x1
where
x1.code = 'departure'
and x1.airport in (
select
xx1.airport
from
(select
yx1.airport
from
Taxes yx1
where
yx1.airport = x1.airport
and yx1.code = x1.code
group by
yx1.airport, yx1.amount, yx1.exempt
) xx1
group by xx1.airport
having count(xx1.airport) > 1
)
;
Давно я не копался в SQL. Вот что нагородил :(
Суть такова: у аэропортов есть departure tax, который может быть разный в зависимости от некоторых критериев (нерелевантно каких).
А может быть и одинаковый. Но все равно аэропорт может иметь несколько рядков в БД (с одинаковым amount). А еще может быть exempt = 'X',
что тождественно amount = 0.
Задача: выбрать все рядки с departure tax для аэропортов у которых taxamt/exempt разный в зависимости от некоторых других критериев.
+2
/**
* Вхождения слова "питушня" в говнокодах по языкам
*/
{
"C++": 124,
"PHP": 56,
"Куча": 54,
"C": 41,
"JavaScript": 39,
"C#": 25,
"Python": 11,
"Java": 10,
"Pascal": 8,
"SQL": 7,
"VisualBasic": 2,
"Swift": 2,
"ActionScript": 1,
"Assembler": 1,
"Perl": 1,
"Haskell": 1,
"Ruby": 1,
"1C": 0,
"Lua": 0,
"Objective C": 0,
"bash": 0
}
0
https://twitter.com/i_am_romochka/status/986936174538383365
UDP: кинул тебе за щеку
TCP: кинул тебе за щеку, ПРОВЕРЯЙ
А откуда эта хуита с "защекой" пошла? Не с говнокода ли?
−4
List<Validatable> list = getValues();
...
return list == null || list.stream().reduce(Boolean.TRUE,
(identity, cf) -> identity
&& cf.validate().stream()
.map(ValidationError::getError)
.peek(feedbackPanel::error)
.count() == 0,
(result1, result2) -> result1 && result2);
Покритикуйте ошибки использования stream и lambda
0
#include "stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
/*
Задание: перемножить две матрицы и вывести результат на экран
*/
vector<vector<int>> inputToVector(int n,int m) {
vector<vector<int>>vec(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> vec[i][j];
}
}
return vec;
}
template<class T>
void multiple(vector<T>a,vector<T>b,int x1,int y1,int y2) {
int ans = 0;
for (int i = 0; i < x1; i++) {
for (int j = 0; j < y2; j++) {
for (int k = 0; k < y1; k++) {
ans += a[i][k] * b[k][j];
}
cout << ans << '\t';
ans = 0;
}
cout << endl;
}
}
int main()
{
setlocale(LC_ALL, "Russian");
int x1, y1, x2, y2,temp;
cout << "Требуется вычислить произведение двух матриц А и В" << endl;
cout << "Введите размерность матрицы А" << endl;
cin >> x1 >> y1;
cout << "Введите элементы матрицы А" << endl;
vector<vector<int>>one = inputToVector(x1, y1);
cout << "Введите размерность матрицы B" << endl;
cin >> x2 >> y2;
cout << "Введите элементы матрицы B" << endl;
vector<vector<int>>two = inputToVector(x2, y2);
cout << "Результирующая матрица, полученная перемножением матрицы А на матрицу В" << endl;
multiple(one, two, x1, y1, y2);
system("pause");
return 0;
}