Немного предыстории: я один из двух программистов для нашего отдела из 10 человек (остальные художники и менеджмент). Мы вдвоем делаем все необходимое для правильного кодирования и разрабатываем любые проекты, которые появятся. Я занимаюсь программированием около 4 лет, где это его первая «настоящая» работа (как он выразился). Обычно мы работаем над разными проектами в любой момент времени.
Пару месяцев назад я разработал (отнюдь не идеальный) набор классов, которые должны были использоваться для более позднего проекта. Большая часть этого проекта была делегирована ему (по причинам выставления счетов) для разработки и программирования интерфейса GUI. Так как он был новичком, я немного помог с проектированием и сказал попросить помощи, если он нуждался в этом с остальными. Он закончил интерфейс несколько недель назад, и он продемонстрировал, что он работает, хотя и немного медленно.
Началась следующая часть этого проекта, над которой я работаю. Я открыл интерфейс, чтобы начать со следующих шагов, и сразу столкнулся с проблемами (немного медленным было небольшое занижение, ошибки в общих действиях и т. Д.). Я посмотрел на код для нескольких проблем и нашел, O(n^n)
какие вызовы должны быть O(n)
, предположения типа без проверки ошибок (это на Python), ссылки на GUI, добавленные в исходный код, и так далее.
Теперь я определенно хотел бы научить его, что было не так и как это исправить, но он уже перешел к своему следующему проекту, и это было несколько недель назад. Боюсь, что я говорю "Вернись и сделай это правильно!" (конечно, с помощью) слишком суров, и у нас все еще есть другие проекты, которые можно реализовать за это время. Должен ли я сам сейчас исправить код и попытаться поймать вещи в будущем?
O(n^n)
если только нет другого пути. Если они это сделают, то они, вероятно, получили C в алгоритмах или не взяли его, или имели дерьмового учителя. Было бы неплохо использовать какой-то инструмент для поиска общих проблем. Возможно, в качестве следующего задания этот парень может написать несколько тестов производительности?