Я делаю небольшие успехи в крупном проекте. Источник массивный, много слоев объектов, макаронный код, графы двойного ромба с множественным наследованием, полусгоревшие функции, замороженные, когда оригинальный автор ушел, и никто не знает, почему многие его части были разработаны так, как они были.
Я предполагаю, что у любого компетентного программиста были бы некоторые проблемы, достаточно хорошо разобраться во всем, чтобы исправить ошибки, закончить недоделанные вещи и добавить новые функции. Тем не менее, я подозреваю, что я иду медленнее, чем обычный программист.
Как я могу судить, является ли источник необычно плохим, и я просто делаю так, как мог бы любой, в отличие от источника, типичного для проекта, подобного этому, и я просто сообразительный или недостаточно квалифицированный?
источник
Ответы:
Единственный способ решить этот вопрос - привлечь гораздо больше программистов для решения той же проблемы и посмотреть, будут ли они лучше.
Это, конечно, редко практично, задача выпала на ваше усмотрение и при условии, что вы делаете все возможное, что можете, исследуя, где ваши знания не дают результатов. Разбивая его на части, где сложность обманывает вас, и информируйте всех, кто заботится о вашем прогрессе. Тогда бы я не волновался и продолжал бы это.
источник
Во-первых, я бы не стал тратить слишком много времени на беспокойство о том, что вы, может быть, «сообразительный или недостаточно квалифицированный». Некоторые проекты трудно понять, и крупные проекты часто требуют времени для ускорения. Думать, что вы «глупы» или не справляетесь с заданием, вам никак не поможет.
Похоже, вам нужна помощь с кодом, поэтому рассмотрите ваши ресурсы. У вас есть доступ к оригинальным кодерам? Если они доступны, они могут быть хорошим источником информации. Какая документация доступна? Если документации недостаточно, вытащите блокнот и начните создавать свою личную документацию.
Основная идея здесь заключается в том, что вы должны ожидать, что этот процесс займет время, и чем меньше времени вы потратите на умственное избиение, тем больше энергии вам понадобится для анализа кода и его выяснения. Удачи!
источник
Всегда видел кривую обучения.
Теория говорит, что изначально требуется время, чтобы подняться. Хитрость заключается в том, чтобы быстро пройти шаг вверх. Если вы постоянно зависаете, обратитесь за помощью к своему менеджеру или, по крайней мере, держите его / ее в курсе проблем, с которыми вы столкнулись. Пока у вас все в порядке с графиком, никаких проблем.
источник
Рассеки это, один раз за раз
Ваша ситуация очень распространена, «схватывание» занимает время, как уже упоминали другие.
Я обнаружил, что если вы решите это «по одной части за раз» , независимо от того, насколько сложен проект, вы это поймете. Вы просто должны быть логичными в этом.
Начните с, скажем, кнопки, копайтесь в исходном коде , ставьте точки останова, смотрите шаг за шагом, что происходит. Есть две вещи, которые вам нужно выполнить:
источник
Как насчет другой точки зрения: что вам нужно знать об этом коде и есть ли у вас способ измерить это? Например, если вы пытаетесь исправить ошибку, это может потребовать другого типа погружения, чем если бы вы пытались перенести код с одного языка на другой, например, переходя с VBScript на C #. Если вы пытаетесь получить все требования из текущего кода, это может занять некоторое время, хотя я подозреваю, что у большинства людей будут проблемы такого рода.
источник
Мистер Аарон Хиллегасс с умными словами.
Вы не глупы, вы не медлительны, и вы не плохо подготовлены. Я нахожусь в той же самой лодке, я вступил в новую роль, и существующая кодовая база невероятно велика и показывает признаки того, что она постоянно перерабатывается, мне потребовались недели, чтобы добраться до точки, где я чувствую, что даже становлюсь близко к полной скорости. Представьте, что проект похож на изучение всего нового языка, он не происходит в одночасье, но требует терпения.
источник