Чи повинен програміст мати хороші навички налагодження?
Так. З цього приводу я б попросив вас вважати методологію інтерв'ю (тобто стиль вікторини / тесту) менш ідеальним (добре, хибно), оскільки багато людей знаходять код на папері дивним, незнайомим досвідом.
Оскільки налагодження - це процес , а не відповідь чи результат (наприклад, помилка ), я б запропонував використовувати інтерактивний діалог чи дискусію як кращий засіб для оцінки можливостей налагодження кандидатів. У той час як більшість людей використовують неформальну спеціальну систему налагодження, хороші кандидати мають загалом подібну схему, задаючи питання, щоб зрозуміти систему чи припущення та вимоги, а потім відокремити проблему (часто ділити та перемагати) та методично порівнювати код до вимог, і оцінити очікуваний вхід / вихід, а не мимоволі змінювати купу речей одночасно, поки це не спрацює.
Я також висловлюю застереження щодо проблем із головоломками під час співбесіди, особливо у письмовій формі, як якщо б у кандидата немає правильних припущень про систему відліку ( фокус), головоломка може бути для них нерозв’язною. Тобто багато головоломок для інтерв'ю страждають від єдиного правильного шляху, тоді як життя є складним, і найкреативніші думки - це ті, хто застосовує напрочуд нові підходи до вирішення проблеми, яка може не працювати з певною заздалегідь приготовленою головоломкою, з очікуваним рішенням . Це як сподіватися на те, що всі трубачі гратимуть джаз. Це можна вирішити, поставивши питання як неконфронтаційну (тиск може збентежити творчість) інтерактивну дискусію. Знову ж таки, для мене відповідь є другорядним, щоб побачити хороший процес мислення. Ймовірно, вам потрібно буде попросити їх подумати вголос, але це, як правило, є більш продуктивним.
Я не читав і не оцінював програму Зеллера, чому програми провалюються , але я можу порекомендувати Налагодження Аганами як коротке, швидке читання, яке може допомогти закріпити процес налагодження спеціальних дій у більш структуровані, конкретні та організовані зусилля, які можуть допомогти бути ефективнішим при налагодженні. Крім того, роздрукуйте копію та повісьте її у своєму кабінеті чи вирішенні, плакат Правил налагодження - це ідеальне нагадування про ті погані дні, коли, здається, нічого не виходить. У мене мало поганих днів, і я витрачаю менше часу на активну налагодження (читайте: почухаю голову в замішанні ), намагаючись слідувати за ними по духу, якщо не на письмі.