나는 당신이 찾고있는 것이 시퀀스 다이어그램 이라고 생각합니다 . 이를 통해 화살표를 사용하여 다양한 모듈이 서로 호출하는 순서를 시각화 할 수 있습니다.
하나를 만드는 것은 간단합니다.
- 아래에 점선으로 시작 수업을 그립니다.
- 콜 트레이스에 다음 클래스 / 방법을 그 아래에 점선으로 그립니다.
- 마지막으로 그린 화살표 아래에 수직으로 위치한 화살표로 선을 연결하십시오.
- 추적의 모든 통화에 대해 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
함수 호출에 대한 범위를 의미하는 또 다른 상자. 승수가 반환 될 때 상자가 어떻게 끝나는 지주의하십시오. 이것이 그 기능 범위의 끝입니다!
더 큰 숫자를 몇 번 반복하면 차트는 다음과 같아야합니다.
메모
전달 된 변수 이름을 사용하여 호출에 레이블을 지정할지 또는 하나의 특정 사례 만 문서화하려는 경우 해당 값에 값을 지정할지 선택할 수 있습니다. 함수 자체를 호출하여 재귀를 표시 할 수도 있습니다.
또한 여기에 사용자를 표시하고 프롬프트를 표시하고 시스템에 입력을 쉽게 표시 할 수 있습니다. 상당히 유용한 시스템이라고 생각합니다.