- 1
https://journal.tinkoff.ru/diary-quality-manager-moscow-950k/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://journal.tinkoff.ru/diary-quality-manager-moscow-950k/
+5
#include <iostream>
#include <set>
#include <unicode/brkiter.h>
#include <unicode/unistr.h>
#include <unicode/coll.h>
#include <unicode/sortkey.h>
bool hasRepeatingCharacters(const icu::UnicodeString &word)
{
icu::Locale locale = icu::Locale::getDefault();
UErrorCode status = U_ZERO_ERROR;
std::unique_ptr<icu::BreakIterator> it{icu::BreakIterator::createCharacterInstance(locale, status)};
if (U_FAILURE(status)) throw 42;
it->setText(word);
std::unique_ptr<icu::Collator> collator{icu::Collator::createInstance(status)};
if (U_FAILURE(status)) throw 42;
collator->setStrength(icu::Collator::SECONDARY);
auto less = [](const icu::CollationKey &k1, const icu::CollationKey &k2){
UErrorCode status = U_ZERO_ERROR;
bool isLess = k1.compareTo(k2, status) == UCOL_LESS;
if (U_FAILURE(status)) throw 42;
return isLess;
};
std::set<icu::CollationKey, decltype(less)> cache(less);
int32_t p = it->first();
while (p != icu::BreakIterator::DONE) {
int32_t q = it->next();
if (q == icu::BreakIterator::DONE)
break;
icu::CollationKey key;
collator->getCollationKey(word.tempSubStringBetween(p, q), key, status);
if (U_FAILURE(status)) throw 42;
if (cache.find(key) != cache.end())
return true;
cache.insert(key);
p = q;
}
return false;
}
int main()
{
icu::UnicodeString words(u8"Example english Боб мир כוכב 民主主義語こんにちは", "utf-8");
icu::Locale locale = icu::Locale::getDefault();
UErrorCode status = U_ZERO_ERROR;
std::unique_ptr<icu::BreakIterator> it{icu::BreakIterator::createWordInstance(locale, status)};
if (U_FAILURE(status)) throw 42;
it->setText(words);
int32_t p = it->first();
while (p != icu::BreakIterator::DONE) {
int32_t q = it->next();
if (q == icu::BreakIterator::DONE)
break;
if (it->getRuleStatus() != UBRK_WORD_NONE)
{
icu::UnicodeString word{words.tempSubStringBetween(p, q)};
bool hasRepeats = hasRepeatingCharacters(word);
std::string wordUtf8;
word.toUTF8String(wordUtf8);
std::cout << (hasRepeats ? "Has repeats: " : "No repeats: ") << wordUtf8 << std::endl;
}
p = q;
}
return 0;
}
По мотивам https://govnokod.ru/27025
Сформировать строку из слов исходной строки, содержащих повторяющиеся буквы.
В 60 строк, к сожалению, не уложился :(
+3
/* if - логический оператор впервые появившийся в языке программирования 1954 года FORTRAN
Алгоритмически именуется ветвлением. Этот оператор обеспечивает выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения.
В данном случае обрабатывает ошибочный случай, когда переменная типа OfflinePlayer неинициализирована и в этом случае возращает
строку(последовательность байт заканчивающуюся нуль-терминатором) ""
*/
if(player == null)
return "";
Как точно НЕ надо комментировать код
+5
begin
G4.Caption:='X';
if G5.Caption='' then
begin
G5.Caption:='X';
if G6.Caption='' then
begin
G6.Caption:='X';
if G7.Caption='' then
begin
G7.Caption:='X';
if G8.Caption='' then G8.Caption:='X' else
if sg8=1 then
G8.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg7=1 then
G7.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg6=1 then
G6.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg5=1 then
G5.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg4=1 then
G4.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg3=1 then
G3.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg2=1 then
G2.Font.Style:=[fsBold,fsStrikeOut];
if H2.Caption='' then H2.Caption:='X' else
if sh2=1 then H2.Font.Style:=[fsBold,fsStrikeOut];
if F2.Caption='' then
begin
F2.Caption:='X';
if E3.Caption='' then
begin
E3.Caption:='X';
if D4.Caption='' then
begin
D4.Caption:='X';
if C5.Caption='' then
begin
C5.Caption:='X';
if B6.Caption='' then
begin
B6.Caption:='X';
if A7.Caption='' then A7.Caption:='X' else
if sa7=1 then
A7.Font.Style:=[fsBold,fsStrikeOut];
end else
if sb6=1 then
B6.Font.Style:=[fsBold,fsStrikeOut];
end else
if sc5=1 then
C5.Font.Style:=[fsBold,fsStrikeOut];
end else
if sd4=1 then
D4.Font.Style:=[fsBold,fsStrikeOut];
end else
if se3=1 then
E3.Font.Style:=[fsBold,fsStrikeOut];
end else
if sf2=1 then
F2.Font.Style:=[fsBold,fsStrikeOut];
end;
6: begin //Король
{E1} if ((se1=1) and not ((E1.Caption<>'Ферзь') or (E1.Caption<>'Ладья') or (E1.Caption<>'Король')) or
{D1} ((sd1=1) and not ((E1.Caption='') and ((D1.Caption='Ферзь') or (D1.Caption='Ладья')))) or
{C1} ((sc1=1) and not (((E1.Caption='') and (D1.Caption='')) and ((C1.Caption='Ферзь') or (C1.Caption='Ладья')))) or
{B1} ((sb1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='')) and ((B1.Caption='Ферзь') or (B1.Caption='Ладья')))) or
{A1} ((sa1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='') and (B1.Caption='')) and ((A1.Caption='Ферзь') or (A1.Caption='Ладья')))) or
{E2} ((se2=1) and not ((E2.Caption='Слон') or (E2.Caption='Ферзь') or (E2.Caption='Пешка') or (E2.Caption='Король'))) or
//ПРОДОВЖИТИ
{D3} ((sd3=1) and not ((E2.Caption='') and ((D3.Caption='Ферзь') or (D3.Caption='Слон')))) or
{C4} ((sc4=1) and not (((E2.Caption='') and (D3.Caption='')) and ((C4.Caption='Ферзь') or (C4.Caption='Слон')))) or
{B5} ((sb5=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='')) and ((B5.Caption='Ферзь') or (B5.Caption='Слон')))) or
{A6} ((sa6=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='') and (B5.Caption='')) and ((A6.Caption='Ферзь') or (A6.Caption='Ладья')))) or
{F2} ((sf2=1) and not (E2.Caption='Ладья') or (E2.Caption='Ферзь')) or
{F3} ((sf3=1) and not ((F2.Caption='') and ((F3.Caption='Ферзь') or (F3.Caption='Ладья')))) or
{F4} ((sf4=1) and not (((F2.Caption='') and (F3.Caption='')) and ((F4.Caption='Ферзь') or (F4.Caption='Ладья')))) or
{F5} ((sf5=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='')) and ((F5.Caption='Ферзь') or (F5.Caption='Ладья')))) or
{F6} ((sf6=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='')) and ((F6.Caption='Ферзь') or (F6.Caption='Ладья')))) or
{F7} ((sf7=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='')) and ((F7.Caption='Ферзь') or (F7.Caption='Ладья')))) or
{F8} ((sf8=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='') and (F7.Caption='')) and ((F8.Caption='Ферзь') or (F8.Caption='Ладья')))) or
{G2} ((sg2=1) and not (G2.Caption='Ферзь') or (G2.Caption='Слон')) or
{H3} ((sh3=1) and not ((G2.Caption='') and ((H3.Caption='Ферзь') or (H3.Caption='Слон')))) or
{H1} ((sh1=1) and not (H1.Caption'Ферзь') or (H1.Caption='Слон')) or
{Кони} ((sh2=1) and not (H2.Caption='Конь')) or ((sg3=1) and not (G3.Caption='Конь')) or ((se3=1) and not (E3.Caption='Конь')) or ((sd2=1) and not(D2.Caption='Конь'))
) then if (F1.Caption='') then F1.Caption:='X' else
if sf1=1 then F1.Font.Style:=[fsBold,fsStrikeOut];
end;
Как-то на первом или втором курсе недоунивера возникло желание сделать шахматы в ООП на Паскале. Решил закодить 64 кнопки (8*8 поле). Сделал переменные для идентификации хода черных/белых, для 2 режимов, в первом из которых кликаешь на свою фигуру (надпись на кнопке) и тебе показывают доступные ходы ею (Х куда можно поставить фигуру, подчеркнутое название вражеской фигуры при возможность её забрать). Ты кликаешь, поле очищается от подсказок, фигура перемещается, проверка на шах/мат (ад), ход передается другому цвету фигур (Жирное начертание для определения) и режим взаимодействия с игровым полем опять переходит в выбор фигуры. Теоретически закодировав каждую кнопку на все возможные события шахматы были бы закончены полностью. Вот только спустя окончания кодировки первой кнопки я заYAYлся и забросил ибо говнокод вышел в 1000 строк на одну YAYдь кнопку. Разумеется, показать могу лишь часть
−99
Сижу я, короче, на работе сейчас, кофе пью из термоса и программирую на «Python».
Вдруг через минуту начинаю чувствовать непереносимый запах говна.
Ну, думаю, Россия че, оглядываюсь по сторонам на сидящих рядом программистов.
Вроде никаких людей маргинального вида нет.
У меня у самого тоже никаких сюрпризов не ощущается.
Ну думаю, все, глючит меня.
Уже практически тянусь за экстренной таблеткой оланзапина в рюкзак, как вдруг с кресла прямо за мной встает коллега и идет к туалету.
Запах испражнений усиливается многократно, на лицах сидящих рядом людей возникают недовольные гримасы.
Смотрю на его компьютер, а там открыт код на «PHP».
Он ушел, а запах некоторый остался до сих пор.
Я замечательно попил кофе.
+1
<?php
/**
* $URL: svn://svn.subversion.ru/usr/local/svn/mzz/trunk/system/forms/validators/formHostnameRule.php $
*
* MZZ Content Management System (c) 2005-2007
* Website : http://www.mzz.ru
*
* This program is free software and released under
* the GNU/GPL License (See /docs/GPL.txt).
*
* @link http://www.mzz.ru
* @version $Id: formHostnameRule.php 3864 2009-10-21 04:50:04Z zerkms $
*/
/**
* formHostnameRule: правило, проверяющее имя хоста
*
* @package system
* @subpackage forms
* @version 0.1.1
*/
class formHostnameRule extends formAbstractRule
{
private $validTlds = array(
'ac', 'ad', 'ae', 'aero', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao',
'aq', 'ar', 'arpa', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb',
'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'biz', 'bj', 'bm', 'bn', 'bo',
'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cat', 'cc', 'cd',
'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'com', 'coop',
'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do',
'dz', 'ec', 'edu', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj',
'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh',
'gi', 'gl', 'gm', 'gn', 'gov', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu',
'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il',
'im', 'in', 'info', 'int', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm',
'jo', 'jobs', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kr', 'kw',
'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu',
'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mil', 'mk', 'ml', 'mm',
'mn', 'mo', 'mobi', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'museum', 'mv',
'mw', 'mx', 'my', 'mz', 'na', 'name', 'nc', 'ne', 'net', 'nf', 'ng',
'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'org', 'pa', 'pe',
'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'pro', 'ps', 'pt',
'pw', 'py', 'qa', 're', 'ro', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd',
'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr',
'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj',
'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'travel', 'tt', 'tv', 'tw',
'tz', 'ua', 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've',
'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm',
'zw'
);
protected function _validate($value)
{
if (preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $value)) {
return true;
}
$domainParts = explode('.', $value);
if (sizeof($domainParts) < 2) {
return false;
}
if (strlen($value) > 254 || strlen($value) < 4) {
return false;
}
$tld = array_pop($domainParts);
if (!in_array(strtolower($tld), $this->validTlds)) {
return false;
}
$validChars = 'a-z0-9\-';
foreach ($domainParts as $part) {
if (strpos($part, '-') === 0 || (strlen($part) > 3 && strpos($part, '--', 2) === 2) || substr($part, -1) === '-') {
return false;
}
if (!preg_match('#^[' . $validChars . ']{1,63}$#i', $part)) {
return false;
}
}
return true;
}
}
?>
Домены валидировали-валидировали, да недовалидировали.
https://github.com/wiistriker/govnokod_legacy/blob/master/mzz/system/forms/validators/formHostnameRule.php
0
#include <stdio.h>
#include <conio.h>
int main()
{
int c;
while (1)
{
c=getch();
printf("%c",c/20);
}
return 0;
}
Шифратор 228
0
string json = "{" +
"\"path\": " + EscapeForJson(path) + "," +
"\"cmd\": " + EscapeForJson(cmd) + "," +
"\"config\": {" +
"\"defaultPerms\": " + defaultPerms.ToString() + ", " +
"\"defaultCompPerms\": " + defaultCompPerms.ToString() + ", " +
"\"rules\": [";
foreach (var rule in rules)
{
json += "{" +
"\"path\": " + EscapeForJson(rule.path) + "," +
"\"perms\": " + rule.perms.ToString() +
"},";
}
if (rules.Length != 0)
{
json = json.Remove(json.Length - 1); // remove last ','
}
json += "]}}";
+1
-
#
## #### #### ##### ######
# # # # # # # #
# # #### # # #####
# ### # # ##### #
# ### # # # # # # #
##### ### #### #### # # #
# # ###### ##### # ###### # #### ## ##### # #### # #
# # # # # # # # # # # # # # # # ## #
# # ##### # # # ##### # # # # # # # # # # #
# # # ##### # # # # ###### # # # # # # #
# # # # # # # # # # # # # # # # # ##
## ###### # # # # # #### # # # # #### # #
###### ##### ##### #### #####
# # # # # # # # #
##### # # # # # # # #
# ##### ##### # # #####
# # # # # # # # #
###### # # # # #### # #
+3
Почему Application стал так часто падать???
А ещё csrf eггог-и nocTo9lHHo