Python의 선 (Zen of Python)

Tim Peters가 쓴 파이썬 프로그래밍 언어 설계에 영향을 준 20가지 소프트웨어 원칙 중 19가지.


Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
아름다움이 추함보다 좋다.
명시가 암시보다 좋다.
단순한 게 복잡한 것보다 낫다.
복잡한 게 어려운 것보다 낫다.
단층이 계층보다 낫다.
풀어놓는 것이 압축하는 것보다 낫다.
가독성은 중요하다.
특별한 경우도 규칙을 어겨야 할 정도로 특별하지는 않다.
허나 실용성은 순수성을 이긴다.
오류가 감춰진 채로 넘어가선 안 된다.
명시적으로 오류를 감추려는 의도가 아니라면.
모호함을 마주했을 때, 유추하고 싶은 유혹을 버려라.
어떤 문제에든 하나의 - 유일하면 더 좋고 - 명백한 해결법이 존재해야 한다.
다만 당신이 멍청하다면 처음에는 그 뻔한 길이 보이지 않을지도 모른다.
지금 하는게 아예 안하는 것보다 낫다.
아예 안하는 것이 지금 “당장” 하는 것보다 나을 때도 있지만.
구현 결과를 설명하기 어렵다면, 별로다.
구현 결과를 설명하기 쉽다면, 좋을지도 모른다.
네임스페이스는 개쩌는 발상이다 -- 더 적극적으로 이용해라!

이전글