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