- 1
Поцаны, шестой уровень вложенности - это ок или говнокод?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
Поцаны, шестой уровень вложенности - это ок или говнокод?
У вас обычно сколько?
+1
// https://github.com/telegramdesktop/tdesktop/blob/5f5770dd46491133b135a71fc2d4f92d13107ade/Telegram/SourceFiles/history.cpp#L1455
int History::countUnread(MsgId upTo) {
int result = 0;
for (auto i = blocks.cend(), e = blocks.cbegin(); i != e;) {
--i;
for (auto j = (*i)->items.cend(), en = (*i)->items.cbegin(); j != en;) {
--j;
if ((*j)->id > 0 && (*j)->id <= upTo) {
break;
} else if (!(*j)->out() && (*j)->unread() && (*j)->id > upTo) {
++result;
}
}
}
return result;
}
void History::updateShowFrom() {
if (showFrom) return;
for (auto i = blocks.cend(); i != blocks.cbegin();) {
--i;
for (auto j = (*i)->items.cend(); j != (*i)->items.cbegin();) {
--j;
if ((*j)->id > 0 && (!(*j)->out() || !showFrom)) {
if ((*j)->id >= inboxReadBefore) {
showFrom = *j;
} else {
return;
}
}
}
}
}
очередная порция говнеца из телесрамного клиента
+1
$probabilities=array();
$get_items=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' ORDER BY `probability` DESC;");
while($item=mysql_fetch_assoc($get_items)){
$probabilities[$item['probability']]=0;
}
$dices=$probabilities;
for($pi=100;$pi>=0;$pi--){
foreach($probabilities as $probability=>$pstate){
if(rand(1, 2)==2){
if($pi<=$probability){
$dices[$probability]=$dices[$probability]+1;
}
}
}
}
arsort($dices, SORT_NUMERIC);
$probability=reset(array_keys($dices));
$get_prize=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' AND `probability`='".$probability."' ORDER BY RAND() LIMIT 1;");
Написал с нуля на заказ движок для очередного детского говноказино (розыгрыш пикселей для игр в "Steam").
Заказчик умолял сделать возможность управления вероятностью выпадения того или иного предмета (в процентах), что я и сделал. Вышеприведённый алгоритм как раз отвечает за выбор приза в соответствии с прописанными в настройках вероятностями. Сейчас кажется, что решение не самое "изящное".
Есть, что заметить по поводу алгоритма?
+1
Кегдан вернулся, давайте радоваться вместе!
+1
function CountBack_slider(secs,iid,j_timer) {
if (secs < 0) {
document.getElementById(iid).innerHTML = FinishMessage;
document.getElementById('caption'+j_timer).style.display = "none";
document.getElementById('heading'+j_timer).style.display = "none";
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + iid + ' ')
> -1) {
elems[i].innerHTML = DisplayStr;
}
}
jQuery('.'+iid).innerHTML = DisplayStr;
if (CountActive)
setTimeout(function(){CountBack_slider((secs+CountStepper),iid,j_timer)}, SetTimeOutPeriod);
}
Работаю с купленным html5-шаблоном.
В шаблоне jq (и еще куча всякого хлама) подключен.
Кодили с мыслью "работает и *уй с ним".
+1
https://s1.postimg.org/9ay7hrf7fj/js-love-forever.png
heart, heart, JavaScript!
+1
while (1):
for iterator in range(len(posts)):
# Для прозрачности вычислений
time_post_a = datetime.now()
time_post_a = int(time.mktime(time_post_a.timetuple()))
time_post_b = posts[iterator]['time']
time_post_b = int(time.mktime(time_post_b.timetuple()))
# Выполнить действие, в случае, если "время пришло" по массиву posts
if ((time_post_a - time_post_b) == 0):
print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
time.sleep(1) # Если его убрать, то начинаются дикие пляски
break
Планировщик постов
+1
#if ( clang_major==7 && clang_minor==3 )
public std::enable_shared_from_this<CryptoContainer>
#else
public std::enable_shared_from_this<CryptoContainerInterface>
#endif
Во первых непонятно зачем, а во вторых clang > 6 на момент написания даже в проекте не было.
+1
private SharedPreferences longCache;
private String email;
public void updateEmail(String newLogin) {
if(newLogin != null) {
email = newLogin;
if(longCache.contains("email")) {
longCache.edit().remove("email").apply();
}
longCache.edit().putString("email", email).apply();
}
}
Проект под Android.
Стаж разработчика - 5 лет.
+1
https://roem.ru/23-10-2017/261914/seva-zhidkov-rocks/
> В январе 2016 года 14-летний Сева Жидков создал телеграм-бота для рекламных путеводителей «Медузы». После этого он стал стажироваться в издании и создал еще одного бота — уже для редакции. Теперь Жидков самый молодой сотрудник «ВКонтакте».
> Как давно ты работаешь во «ВКонтакте»?
> после девятого класса
> занимаюсь, в частности, применением машинного обучения в рекламе «ВКонтакте»
Все что требовалось знать про эту "интеллектуальную" профессию. Даже школьник с 9 классами может применять машинное обучение в контакте и писать ботов для телеграма.