Я думаю, що ви шукаєте тут, це діаграма послідовності . Вони дозволяють візуалізувати порядок, коли різні модулі викликають будь-який інший за допомогою стрілок.
Конструювати це просто:
- Накресліть свій початковий клас пунктирною лінією під ним.
- Намалюйте наступний клас / метод у сліді виклику пунктирною лінією нижче цього
- З'єднайте лінії стрілкою, вертикально розташованою нижче останньої стрілки, яку ви намалювали
- Повторіть кроки 2-3 для всіх дзвінків у своєму сліді
Приклад
Припустимо, у нас є такий код, для якого ми хочемо створити діаграму послідовностей для:
def long_division(quotient, divisor):
solution = ""
remainder = quotient
working = ""
while len(remainder) > 0:
working += remainder[0]
remainder = remainder[1:]
multiplier = find_largest_fit(working, divisor)
solution += multiplier
working = calculate_remainder(working, multiplier, divisor)
print solution
def calculate_remainder(working, multiplier, divisor):
cur_len = len(working)
int_rem = int(working) - (int(multiplier) * int (divisor))
return "%*d" % (cur_len, int_rem)
def find_largest_fit(quotient, divisor):
if int(divisor) == 0:
return "0"
i = 0
while i <= 10:
if (int(divisor) * i) > int(quotient):
return str(i - 1)
else:
i += 1
if __name__ == "__main__":
long_division("645", "5")
Перше, що ми намалюємо - це точка входу ( main
), що підключається до методу long_division
. Зауважте, що це створює вікно в long_division, що означає область виклику методу. У цьому простому прикладі поле буде на всю висоту нашої діаграми послідовностей через те, що це єдине, що виконується.
Тепер ми закликаємо find_largest_fit
знайти найбільший множник, який підходить до нашого робочого номера, і повертаємо його нам. Проводимо лінію від long_division
до find_largest_fit
до іншого поля, щоб позначити область для виклику функції. Зверніть увагу, як закінчується вікно при поверненні множника; це кінець цієї області функцій!
Повторіть кілька разів для більшої кількості, і ваш графік повинен виглядати приблизно так:
Примітки
Ви можете вибрати, чи хочете ви позначити виклики передаваними іменами змінних або їх значеннями, якщо потрібно документувати лише один конкретний випадок. Ви також можете показати рекурсію за допомогою функції, що викликає себе.
Крім того, ви можете показати користувачам тут і запропонувати їм та показати їх вхід у систему досить легко. Це досить гнучка система, на вашу думку, ви знайдете досить корисною!