http://en.wikipedia.org/wiki/KISS_principle
아래처럼 가로 세로 각각 5줄씩 * 25개를 출력해야 한다.
이걸 단순하게 프로그램하면 이렇게 된다.
이건 꽤나 괜찮은 코드다.
메모리를 좀 낭비하지만
- 빠른데다가
- 엄청나게 직관적이고
- 요구사항이 바뀔 경우 고치기 쉽다.
(똑똑한 컴파일러/인터프리터는 알아서 줄이기도 한다)
그런데 이걸 줄이면:
더 하면:
혹은:
이제 코드가 조금 줄었지만(?)
- 느리고
- 알아 보기 어렵고
- 요구사항이 바뀌면 고치기 어렵다.
난 줄인다.
아래처럼 가로 세로 각각 5줄씩 * 25개를 출력해야 한다.
***** ***** ***** ***** *****
이걸 단순하게 프로그램하면 이렇게 된다.
print("*****") print("*****") print("*****") print("*****") print("*****")
이건 꽤나 괜찮은 코드다.
메모리를 좀 낭비하지만
- 빠른데다가
- 엄청나게 직관적이고
- 요구사항이 바뀔 경우 고치기 쉽다.
(똑똑한 컴파일러/인터프리터는 알아서 줄이기도 한다)
그런데 이걸 줄이면:
for i in range(5): print("*****")
더 하면:
for i in range(5): for j in range(5): print("*", end = "") print()
혹은:
for i in range(25): print("*", end = "") if i % 5 = 4: print()
이제 코드가 조금 줄었지만(?)
- 느리고
- 알아 보기 어렵고
- 요구사항이 바뀌면 고치기 어렵다.
난 줄인다.