- 1
https://imgur.com/w4Dbg19
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://imgur.com/w4Dbg19
наймите @нормальных программистов
+1
if number >= 0 and number <= 9 then
string.format('00%d', number)
end
if number >= 10 and number <= 99 then
string.format('0%d', number)
end
if number >= 100 and number <= 999 then
string.format('%d', number)
end
+1
struct any
{
std::any _val;
inline constexpr any() : _val{}
{
}
inline constexpr any(undefined_t) noexcept : _val{}
{
}
inline constexpr any(std::nullopt_t) noexcept : _val{}
{
}
template <typename T>
inline constexpr any(const T &val) : _val{val}
{
}
inline any(const any &val) noexcept : _val{val._val}
{
}
inline any(any &&val) noexcept : _val{std::move(val._val)}
{
}
inline any &operator=(const any &val)
{
_val = val._val;
return *this;
}
inline operator bool()
{
if (!_val.has_value())
{
return false;
}
auto type_index = std::type_index(_val.type());
if (type_index == std::type_index(typeid(int)))
{
return std::any_cast<int>(_val) > 0;
}
else if (type_index == std::type_index(typeid(double)))
{
return std::any_cast<double>(_val) > 0;
}
else if (type_index == std::type_index(typeid(tstring)))
{
return std::any_cast<tstring>(_val).size() > 0;
}
else if (type_index == std::type_index(typeid(tstring_view)))
{
return std::any_cast<tstring_view>(_val).size() > 0;
}
else if (type_index == std::type_index(typeid(const char_t *)))
{
auto v = std::any_cast<const char_t *>(_val);
return !v;
}
else if (type_index == std::type_index(typeid(std::nullptr_t)))
{
return false;
}
else if (type_index == std::type_index(typeid(bool)))
{
return std::any_cast<bool>(_val);
}
return true;
}
template <typename N = void>
requires Arithmetic<N> any operator+(N n)
{
return any{std::any_cast<N>(this->_val) + n};
}
friend std::ostream &operator<<(std::ostream &os, const any &val_)
{
auto val = val_._val;
if (val.has_value())
{
auto type_index = std::type_index(val.type());
if (type_index == std::type_index(typeid(int)))
{
os << std::any_cast<int>(val);
}
else if (type_index == std::type_index(typeid(double)))
{
os << std::any_cast<double>(val);
}
else if (type_index == std::type_index(typeid(tstring)))
{
os << std::any_cast<tstring>(val);
}
нужна помощь упростить этот ад.
+1
if(object)
if(object->isSolid)
event.isCancelled = true;
;else //<
throw NullEventArgumentException("object == nullptr");
Новый токен в C++ про который знает только 0.6% говнокодеров
+1
IT Оффтоп #47
#1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
#2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
#3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
#4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
#5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
#6: (vanished) https://govnokod.xyz/_24063
#7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
#8: (vanished) https://govnokod.xyz/_24815
#9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
#10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
#11: (vanished) https://govnokod.xyz/_25436
#12: (vanished) https://govnokod.xyz/_25471
#13: (vanished) https://govnokod.xyz/_25590
#14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
#15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
#16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
#17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
#18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
#19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
#20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
#21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
#22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
#23: https://govnokod.ru/25863 https://govnokod.xyz/_25863
#24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
#25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
#26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
#27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
#28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
#29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
#30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
#31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
#32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
#33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
#34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
+1
public function isSpecial()
{
$special_ids = array(
2222,
3028,
3333,
5555,
5702,
6666,
6700,
7654,
7777,
8451,
11225
);
return in_array((int)$this->getId(), $special_ids);
//return $this->getId() == 2222 || $this->getId() == 3028 || $this->getId() == 3333 || $this->getId() == 5555 || $this->getId() == 5702;
}
https://github.com/wiistriker/govnokod_legacy/blob/master/modules/quoter/models/quote.php
Рекурсивный говнокод.
+1
from tkinter import *
from random import randint
f = randint(2, 10)
s = randint(2, 10)
r = f * s
def main_f():
global f
global s
global r
if r == int(inp.get()):
ls.configure(text='да! Вы правы')
f = randint(2, 10)
s = randint(2, 10)
r = f * s
l.configure(text=f'сколько будет {f} * {s}?')
else:
ls.configure(text='нет, вы не правы')
l.configure(text=f'сколько будет {f} * {s}?')
win = Tk()
win.title('math')
l = Label(win, text=f'сколько будет {f} * {s}?')
l.grid(column=0 , row=0)
ls = Label(win, text=' ')
ls.grid(column=0, row=1)
inp = Entry(win, width=10)
inp.grid(column=1, row=0)
but = Button(win, text='проверить', command=main_f, fg='red')
but.grid(column=2, row=0)
win.mainloop()
третьиклассник решил выучить таблицу умножения
+1
from vk_bot.vk_config import GROUP_ID, TOKEN
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import random
from vk_bot.db_session import *
from vk_bot.__all_models import BugReport, Comment
import datetime
from vk_bot.vacancies import get_vacancies, ServerError
def main():
global_init("feedback/feedback.sqlite")
vk_session = vk_api.VkApi(
token=TOKEN)
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, GROUP_ID)
bot_state = {}
def send_msg(msg):
vk.messages.send(user_id=event.obj.message['from_id'],
message=msg,
random_id=random.randint(0, 2 ** 64))
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
if event.obj.message['from_id'] in bot_state and bot_state[event.obj.message['from_id']]:
state = bot_state[event.obj.message['from_id']]
if state == 1:
send_msg('Спасибо, ваше мнение для нас очень важно.')
Comment().new(event.obj.message['from_id'], datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
event.obj.message['text'])
bot_state[event.obj.message['from_id']] = 0
elif state == 2:
BugReport().new(event.obj.message['from_id'], datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
event.obj.message['text'])
send_msg('Спасибо за ваш отзыв, мы постараемся исправить проблему в ближайшем будущем.')
bot_state[event.obj.message['from_id']] = 0
elif state == 4:
parameters = [r.strip() for r in event.obj.message['text'].split(',')]
try:
vacancies = get_vacancies(parameters[0], parameters[1])
except ServerError:
send_msg('Не удалось получить ответ от сервера, попробуйте позже')
bot_state[event.obj.message['from_id']] = 0
except Exception:
send_msg('Данные введены некорректно, попробуйте заново.')
send_msg('Формат: <должность>, <мин. зарплата>')
else:
if len(vacancies) == 0:
send_msg('По данным критериям ничего не найдено')
else:
vacancy_list = [f"{i}) {v['title']}, {v['salary']}" for i, v in enumerate(vacancies)]
send_msg('\n'.join(vacancy_list))
if bot_state[event.obj.message['from_id']] == 0:
send_msg('1 - написать отзыв или предложение\n 2 - сообщить о неправильной работе сайта\n 3 - документация к api\n 4 - посмотреть список доступных вакансий\n иначе напишите сообщение и модератор вскоре на него ответит')
elif event.obj.message['from_id'] not in bot_state:
send_msg('1 - написать отзыв или предложение\n 2 - сообщить о неправильной работе сайта\n 3 - документация к api\n 4 - посмотреть список доступных вакансий\n иначе напишите сообщение и модератор вскоре на него ответит')
bot_state[event.obj.message['from_id']] = 0
else:
key = event.obj.message['text'][0]
if key == '1':
send_msg('Пожалуйста, поделитесь вашим мнением по поводу сайта.')
bot_state[event.obj.message['from_id']] = 1
elif key == '2':
send_msg('Пожалуйста, максимально подробно опишите вашу проблему.')
bot_state[event.obj.message['from_id']] = 2
elif key == '3':
send_msg('https://www.youtube.com/watch?v=dQw4w9WgXcQ')
elif key == '4':
send_msg('Введите название должности и минимальную желаемую зарплату по образцу:<должность>, <мин. зарплата>')
bot_state[event.obj.message['from_id']] = 4
else:
send_msg('Модератор вам скоро ответит, пожалуйста подождите.')
if __name__ == '__main__':
main()
Код бота поддержки.
Один из товарищей по проекту ничего в нем не делал,
а потом чтобы его не выгоняли попросил дать ему хотя бы бота.
Вот результат.
Модели и вспомогательные файлы оставлять думаю не имеет смысла, все и так очевидно
+1
template <class... Args>
void log(Args&&... args)
{
auto dummy = { (std::clog << args, 0)... };
std::clog << std::endl;
}
новый printf на с++
+1
https://github.com/oskusalerma/trelby/issues/85
Сорян за пост-ссылку, но я тут валяюсь под столом просто.
Есть тулза для написания сценариев (для чего только нет тулзы, правда?). Она опенсурсная и при этом выглядит не как говно. Но, когда начинаешь её щупать, ВНЕЗАПНО оказывается, что буквы кириллицы в ней тупо не набираются. Лезешь в FAQ, там лежит ссылка на issue из поста. А уже там просто сказка!
Короч, автор примерно в 2007 году сходил почитал спеку пдф, обнаружил, что "PDF spec is oriented towards Latin-1" и решил, что это даёт ему моральное право забить болт на Unicode, а заодно utf-8 и унтерменш, которые не осилили самый тривиальный сабсет латиницы.
В 2012-ом после, судя по всему, многочисленных недоумённых вопросов автор снова появился на горизонте с тикетом на гитхабе и объяснениями в духе "Unicode нет и не будет, потому что не для тебя моя черешня цвела". Цитата для понимания майндсета чувака: "That's how it was 5 years ago anyway when I last looked at it; maybe the spec has improved since then?"
В общем, выглядело так, будто дядя устал и решил, что пора бы всю эту хуйню переложить на чужие хрупкие плечи, у нас тут опенсурс тем более и все дела.
Но, когда в 2015-ом году появился некий анон с предложением все починить и даже какими-то наработками, автор ему сказал, что иди сука гоняй тесты (видимо, руками, потому что CI настроить он тоже не смог) на всех платформах, а то, вишь, "the old "I'll do the fun bits and let others do the boring bits" strategy. Good luck with that."
Короч чуваки ещё немного поспорили с этим аутистом, после чего съебались в туман, а тулза так кириллицу и не поддерживает.
Смешно и грустно.