Всем привет.
Я записал лекцию по командной работе на icpc-style контестах: смотреть | читать. На канал я регулярно выкладываю скринкасты раундов, а также скринкасты с комментариями див2 раундов, подписывайтесь :)
Я занимаюсь образовательными проектами в СП, почитать про это можно здесь. Прямо сейчас идёт "Школа", прошёл первый месяц, можно присоединиться сейчас. Почитать про неё можно здесь.
Очень клевый текст!
Хотя некоторые вещи я бы назвал слишком категоричными.
Дебагать за компом можно, но нужно понимать, что это тратит дорогое время. По этому нужны механизмы, которые не дадут делать этот дебаг вечным. Найти одну опечатку, из-за которой код не работает никогда и никак сразу после написания — часто быстрее, чем принести печать. Но важно не засиживаться долго. Тут может хорошо работать тот же механизм, что с написанием — оцени зарание время, и если не успел — свалил и никаких "ну еще пару минут".
Дебагер это не зло, а инструмент, который для чего-то хорош, для чего-то нет. И им надо уметь пользоавться, чтобы отличать когда что. Для поиска места креша дебагер работает заметно лучше, потому что он просто сразу говорит "вот тут", и часто делает все очевидным. В какой-нибудь сложной техничке, где не понятно какие вообще условия случаются какие нет, он иногда будет удобнее чем отладочный вывод, но если дебажить долго, то будешь делать повторящиеся действия снова и снова. Для подсчета какой-нибудь динамики в которой надо будет смотреть трехмерные массивы он работает отвартительно, и тут действительно надо распечатать все состояния и уйти искать первое неправильное на бумажке.
Ну и еще я бы от себя, что любые правила хорошо работающие с 99% команд могут очень плохо работать конкретно с вашей и наоборот. Пробуйте разное. Тренировки для и этого нужны. Никакой рассказ другого человека, как надо делать не заменит собственного опыта, но может дать очень мого идей, что стоит попробовать на тренировках.
Спасибо за комментарий.
Категоричные — да, это осознанно. Я лучше категорично выскажу позицию, которая работает в 90% случаев, а оставшиеся 10% оставлю понимать самим. Если я скажу "в особенных случаях можно дебагаться за компом", то кто-нибудь скажет "я особенный, поэтому у меня любой случай особенный, поэтому я буду всегда дебагаться за компом". Чтобы успешно нарушать правила, нужно сначала научиться играть по правилам, чтобы понять, когда они работают плохо.
Про дебаггер я действительно знаю мало, так что ты скорее всего прав. Я видел, как им пользуются плохо, и хотел про это сказать.
Конечно же, нужно пробовать советы на тренировках и смотреть, подходят ли они вам.
На семплах надо запускать?