Тяжела и неказиста работа простого программиста
Хотите примерить на себя работу программиста из NVidia?
Сможете всего за 10 секунд найти и исправить баг в программе на C++? А если их много?
Если да, тогда игра Hero Programmer Quest для вас - нажимайте на картинку и начинайте (игра эмбежена в пост, но может быть не видна в RSS):
Потрясающе
Я уже дюжину раз взорвал мир ^__^
Эх, последних пару ошибок долго искал, но все же стал Hero Programmer =)
Хм. Я, жалкий быдлокодер на PHP, сходу прошёл до 5 уровня. Потом надоело. Какбэ этот ваш C++ состоит из граблей чуть менее, чем полностью.
там 6 уровней, первые пять уровней на общие грабли PHP и C++
что там с этим синглетоном?
вроде ошибка должна вылазить в момент вызова деструктора, но почему то не разминируется…
if (myInstance = 0)
надо SG менять, на такое даже внимания не обращаешь, компилятор подсказывает обычно
хотя мне всё ещё не нравится деструктор который меняет статический указатель ну да ладно. в целом интересно.
Не могу утверждать на 100%, но вот второй скрин как бэ не ошибка - насколько помню, стандарт разрешает именно из фунции int main() {…} делать return;, что будет эквивалентно return 0;.
Для этого вроде есть специальная сигнатура void main();
Нет?
В случае С++ обычно приходится иметь дело не со стандартом, а с конкретными компиляторами.
Нет, это конкретная реализация позволяет такое скомпилировать. По стандарту именно int
Первые 2 уровня бы заменить или хотя бы текст в них увеличить… а то я их прошёл случайно кликнув на код (искал как же можно начать редактировать код - инстинкт уже).
По-моему, не так уж сложно
Хотя в value = other не сразу въехал.
Хорошая штука. Прошёл.
В коде со StringReplace есть вторая ошибка, кроме очевидной.
Если заменять StringReplace(”bb”, “bbbb”, “___bb__”, -1), то функция зависнет.
Она даже пройдёт все тесты. Но изредка будет зависать. Я сначала кликал именно на этой ошибке.
.
Ещё у неё количество записей в память типично O(N*кол-во вхождений) записей в память, и кол-во реаллокаций зашкаливает. Это как вместо того что бы собрать поезд из вагонов в нужном порядке, вставлять вагоны в середину поезда.
Вообщем, не давайте юниорам писать строковые операции.
http://users.livejournal.com/_winnie/
Прошёл. Хоть и не с первого раза
А вот счётчик справа очень мешает сосредоточиться
Если программистам в nVidia дают по десять секунд на поиск каждого бага, то мне их искренне жаль. Если искать ошибки в такой спешке можно запросто новых багов понаделать. При отладке программ важна не скорость поиска ошибок, а аккуратность и внимательность, по принципу “не навреди”.
З.Ы. Я не могу за десять минут сходу найти баг в куске кода. Поэтому я начиная с третьего шага просто делал принскрин и терпеливо разглядывал листинг кода в пейнте. А потом продвигался дальше. У меня уходило где-то по двадцать секунд.
З.З.Ы Реализация синглетона, ламерская. У меня в проекте лучше))