KISS

2010. 4. 1. 10:50 프로그래밍
http://en.wikipedia.org/wiki/KISS_principle

아래처럼 가로 세로 각각 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()

이제 코드가 조금 줄었지만(?)
- 느리고
- 알아 보기 어렵고
- 요구사항이 바뀌면 고치기 어렵다.

난 줄인다.
Posted by dEtH :