Не знайте о том, как это было бы применено в программном обеспечении. Но система определенно имеет свои преимущества для посетителей: Вы можете иметь Fastpass для одной поездки и между тем перейти к другой поездке, линия которой не так длинна (или, как Вы говорите, ходите по магазинам, еда, и т.д.). Это был вполне спаситель, когда я и моя семья были там (хотя по общему признанию, это было межсезонье).
Майкл Фезерс « Эффективная работа с унаследованным кодом » - отличная отправная точка для таких усилий - не особенно зависимых от языка (его примеры есть в нескольких языки, отличные от Python, но методы и образ мышления ДЕЙСТВИТЕЛЬНО распространяются на Python и почти на любой другой язык).
Ключевой момент заключается в том, что вы хотите понимать код по какой-то причине - его изменение и / или перенос. Итак, инструментирование унаследованного кода - с батареями и скаффолдингом тестов и трассировкой / журналированием - является решающим путем на долгом и трудном пути к безопасному и ответственному пониманию и модификации.
Feathers предлагает эвристические методы и методы, на которых следует сосредоточиться. ваши усилия и как начать работу, когда код в полном беспорядке (отсюда «устаревший») - без документации, или вводящие в заблуждение документы (описывающие что-то совершенно отличное, может быть, тонким образом, от того, что на самом деле ДЕЙСТВУЕТ код), никаких тестов, непроверяемый без рефакторинга клубок спагетти-зависимостей. Это может показаться крайним случаем, но любой, кто проработал долгую карьеру в программировании, знает, что на самом деле это встречается чаще, чем кому-либо хотелось бы; -).
Я бы рекомендовал создать некоторую документацию с помощью epydoc http://epydoc.sourceforge.net/ . Конечно, если нет строки документации, результат будет плохим, но он даст вам хотя бы одно представление о вашем приложении, и вы сможете более легко ориентироваться в классах.
Затем вы можете попробовать документировать самостоятельно когда вы понимаете что-то новое, а затем повторно создаете документы. Никогда не поздно что-то начать.
Надеюсь, это поможет
Мне приходилось много этого делать на работе. То, что работает для меня, может отличаться от того, что работает для вас, но я поделюсь своим опытом.
Я начинаю с попытки идентифицировать используемые структуры данных и рисовать диаграммы, показывающие отношения между ними. Не обязательно что-то формальное, как UML, но набросок на бумаге, который вы понимаете и который позволяет вам увидеть общую структуру данных, которыми манипулирует программа. Только получив некоторое представление об используемых структурах данных, я начинаю пытаться понять , как данные обрабатываются.
Во-вторых, для большого объема программного обеспечения иногда необходимо просто атаковать сначала кусайте кусочки размером с кусочки. Вы не получите общего понимания сразу, но если вы разбираетесь в мелких деталях в деталях и продолжаете отказываться от них, в конце концов, все части разваливаются вместе.
Я комбинирую эти два подхода, переключаясь между ними, когда мне становится слишком скучно или расстраиваться. Рекомендуются регулярные прогулки вокруг квартала :) Я считаю, что это дает мне хорошие результаты.
Удачи!
Enterprise Architect от Sparx Systems очень хорошо обрабатывает исходный каталог и генерирует диаграммы классов. Это не бесплатно, но по очень разумной цене за то, что вы получаете. (Я никак не связан с этой компанией, я уже несколько лет доволен их продуктом.)
Я бы начал с хорошей IDE на Python. См. Ответы на этот вопрос .
Вам повезло, что он написан на Python, который легко читать. Но, конечно, можно написать сложный для понимания код и на Python.
Шаги следующие:
Существуют инструменты, которые могут вам помочь. Как сказал Стивен С., IDE - хорошая идея. Я объясню почему:
Многие редакторы анализируют код. Обычно это обеспечивает завершение кода, но, что более важно в этом случае, позволяет просто щелкнуть переменную, удерживая клавишу Ctrl, и посмотреть, откуда она взялась. Это действительно ускоряет работу, когда вы хотите понять код других людей.
Кроме того, вам необходимо изучить отладчик. В сложных частях кода вам придется пройти через них в отладчике, чтобы увидеть, что на самом деле делает код. Pythons pdb работает, но многие IDE имеют интегрированные отладчики, которые упрощают отладку.
Вот и все. Удачи.
Как сказал Стивен С., IDE - хорошая идея. Я объясню почему:Многие редакторы анализируют код. Обычно это обеспечивает завершение кода, но, что более важно в этом случае, позволяет просто щелкнуть переменную, удерживая клавишу Ctrl, и посмотреть, откуда она взялась. Это действительно ускоряет работу, когда вы хотите понять код других людей.
Кроме того, вам необходимо изучить отладчик. В сложных частях кода вам придется пройти через них в отладчике, чтобы увидеть, что на самом деле делает код. Pythons pdb работает, но многие IDE имеют интегрированные отладчики, которые упрощают отладку.
Вот и все. Удачи.
Как говорит Стивен С., IDE - хорошая идея. Я объясню почему:Многие редакторы анализируют код. Обычно это обеспечивает завершение кода, но, что более важно в этом случае, позволяет просто щелкнуть переменную, удерживая клавишу Ctrl, и посмотреть, откуда она взялась. Это действительно ускоряет работу, когда вы хотите понять код других людей.
Кроме того, вам необходимо изучить отладчик. В сложных частях кода вам придется пройти через них в отладчике, чтобы увидеть, что на самом деле делает код. Pythons pdb работает, но многие IDE имеют интегрированные отладчики, которые упрощают отладку.
Вот и все. Удачи.
это позволяет просто щелкнуть по переменной, удерживая клавишу Ctrl, и посмотреть, откуда она взялась. Это действительно ускоряет работу, когда вы хотите понять код других людей.Кроме того, вам необходимо изучить отладчик. В сложных частях кода вам придется пройти через них в отладчике, чтобы увидеть, что на самом деле делает код. Pythons pdb работает, но многие IDE имеют интегрированные отладчики, которые упрощают отладку.
Вот и все. Удачи.
это позволяет просто щелкнуть по переменной, удерживая клавишу Ctrl, и посмотреть, откуда она взялась. Это действительно ускоряет работу, когда вы хотите понять код других людей.Кроме того, вам необходимо изучить отладчик. В сложных частях кода вам придется пройти через них в отладчике, чтобы увидеть, что на самом деле делает код. Pythons pdb работает, но многие IDE имеют интегрированные отладчики, которые упрощают отладку.
Вот и все. Удачи.