6895

Плохой код убивает

Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ≈ 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.


Как тебе спится, Джон — серийный программист?


источник

Вы смотрите срез комментариев. Показать все
58
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (53)
61
Автор поста оценил этот комментарий
Как я понял условие всегда будет true, потому что один знак равенства поставили.
раскрыть ветку (34)
21
Автор поста оценил этот комментарий

кодер детектед

раскрыть ветку (33)
4
Автор поста оценил этот комментарий
Типичная ошибка новичка. На всех занятиях этому уделяют много внимания, а ошибок меньше не становится
раскрыть ветку (32)
4
Автор поста оценил этот комментарий

Помню из каких-то советов, чтобы избежать такой фигни на простейших примерах - либо вообще обойдитесь без знака равенства, либо меняйте аргументы местами.

И реально, ну нахрена это "== true" надо, когда без него код нормально читается?

раскрыть ветку (6)
3
Автор поста оценил этот комментарий
из недавнего кода, с которым пришлось работать:

if ($result != true) {
    return false;

} else {

    return true;

}

раскрыть ветку (5)
1
Автор поста оценил этот комментарий
if (! result)
Не?
раскрыть ветку (3)
3
Автор поста оценил этот комментарий
даже круче:

return $result;

или конкретнее:

return (bool) $result;

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

ой, сорян, я прост первую строчку увидел и сразу коммент пошел писать)

Автор поста оценил этот комментарий

тут просто,

return true; 

0
Автор поста оценил этот комментарий
Это отлично)
5
Автор поста оценил этот комментарий
Хз, мне обьяснили (по крайней мере, на с++), что = есть присваивание, а == есть сравнивание, и я не совершал подобных ошибок
раскрыть ветку (19)
7
Автор поста оценил этот комментарий

потому что ты решил забить на си и прогаешь на питоне? =) ну или ты робот.

раскрыть ветку (15)
14
Автор поста оценил этот комментарий
До питона по учебной программе пока не дошли(и дойдем ли...), так что не питон :)
Кстати, не можешь мне сказать, что тут написано? Зрение плохое
Иллюстрация к комментарию
раскрыть ветку (10)
2
Автор поста оценил этот комментарий
Скажи сперва 3 закона робототехники, умник!
раскрыть ветку (4)
7
Автор поста оценил этот комментарий

Чтобы доказать что ты не робот, нанеси вред человеку или своим бездействием допусти чтобы человеку был нанесён вред

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

ни хочиться

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Я уже тебе верю

1
Автор поста оценил этот комментарий

1) робот не может причинить вред человеку или допустить, чтобы человеку был причинён вред.

2) робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат первому закону.

3) робот должен заботиться о своей безопасности в той мере, в которой это не противоречит первому или второму законам.

1
Автор поста оценил этот комментарий
6138B
0
Автор поста оценил этот комментарий

Тебе писать все буквы или только яркие?

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

мне, пожалуйста, правильные буквы, человек

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Там написано 6138B

0
Автор поста оценил этот комментарий

"Что ты видишь когда закрываешь глаза?"  ;)

4
Автор поста оценил этот комментарий

На warning-и глядеть надо.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Кто смотрит на варнинги, тот не пьет шампанского!
2
Автор поста оценил этот комментарий

Java и C# такое тоже не позволяют, по крайней мере, без дополнительной вложенности. PHP и js - все еще да, но это "особенные" языки.

0
Автор поста оценил этот комментарий

питон прекрасен

1
Автор поста оценил этот комментарий

пожалуй, перестрахуюсь..

be_nice_to(humans);

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

А в be_nice_to допустили очепятку о она повторяет be_bad_to.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Не, там код другой :
def be_nice_to(who):
#TODO
pass
1
DELETED
Автор поста оценил этот комментарий

Сейчас умные IDE и компиляторы предупреждают об этой ошибке.

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Возможно, но вот ide микроконтроллеров(ccs и keil точно) эту ошибку пропускают.
раскрыть ветку (3)
0
DELETED
Автор поста оценил этот комментарий

Это да. С низкоуровневыми языками сложней.

раскрыть ветку (2)
2
Автор поста оценил этот комментарий
Тяжела жизнь программиста на Си. Одни дядьки говорят, что твои решения слишком высокоуровневые и асм шустрее, другие говорят, что ты кусок древнего говна пишущий слишком железоориентированный низкоуровневый код, в котором чтобы его понять требуется 3 бутылки пива и столько же даташитов
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Горькая правда в том, что правы обе стороны

9
Автор поста оценил этот комментарий

#define false (rand(2))

раскрыть ветку (6)
0
Автор поста оценил этот комментарий
еще надо задефайнить оператор отрицания !
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Его низзя задефайнить, препроцессор такого не позволяет

0
Автор поста оценил этот комментарий

#define false (rand(2000)) == 0 - это в 1000 раз страшнее

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Вот как правильнее тогда:

#define false (rand(2000) == 0)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да, спасибо, скобочку потерял)

1
Автор поста оценил этот комментарий
Иллюстрация к комментарию
10
DELETED
Автор поста оценил этот комментарий

Ну то есть на всякий случай программу убийства всех людей заложили, пусть и активировали по ошибке :)

раскрыть ветку (5)
23
Автор поста оценил этот комментарий

это должна была быть пасхалка для гиков

раскрыть ветку (1)
6
DELETED
Автор поста оценил этот комментарий

классика

3
Автор поста оценил этот комментарий

тут юмор в ==

раскрыть ветку (2)
2
DELETED
Автор поста оценил этот комментарий

Об этом юморе я и написал "активировали по ошибке".

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

абсолютно не важно, что они на всякий случай заложили. пути прогера неисповедимы. вполне вероятно, что по какой-то неведомой причине без этой проверки ничего не работало, это такой бубен.

Автор поста оценил этот комментарий

А разве в теле if можно делать присвоение?

Нас наебывают, этот код должен был крешнуться!

раскрыть ветку (4)
3
Автор поста оценил этот комментарий
В джаве нельзя, в C/C++ допускается
0
Автор поста оценил этот комментарий

Можно в некоторых языках. В пхп часто используется при добыче результата запроса, например. И присваивание делаешь и на нулл проверяешь одновременно.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Ужасно. В питоне так нельзя. Это ж порочная практика!

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Да, в питоне нельзя, а на сях можно :))
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества