Zen of Python

'19 nguyên tắc lập trình' góp phần ảnh hưởng đến thiết kế của ngôn ngữ Python

Zen of Python (dịch: Thiền của Python) là một tập hợp gồm 19 "nguyên tắc chỉ dẫn" cho việc viết chương trình máy tính, góp phần ảnh hưởng đến thiết kế của ngôn ngữ lập trình Python.[1] Kỹ sư phần mềm Tim Peters (en) đã viết bộ các nguyên tắc này và đăng tải lên danh sách thư Python vào năm 1999.[2] Bản liệt kê của Peters bỏ ngỏ một nguyên tắc thứ 20 "để cho Guido điền vào", ám chỉ đến Rossum Guido van Rossum (en) – tác giả gốc của ngôn ngữ Python. Chỗ khuyết cho nguyên tắc thứ 20 vẫn chưa được điền vào.

"Bài thơ" Zen of Python được xuất ra trong terminal

Zen of Python của Peters đã được gộp vào làm mục số 20 trong Bộ Đề nghị Cải tiến Python chính thức của ngôn ngữ này, bộ nguyên tắc đã được phát hành vào phạm vi công cộng.[3] Nó cũng được đưa vào làm một quả trứng phục sinh trong trình thông dịch Python, và có thể được hiển thị bằng cách nhập vào import this.[1][3]

Các nguyên tắc sửa

Các nguyên tắc được liệt kê và dịch sang Tiếng Việt ở bảng bên dưới:
STT Nguyên gốc Phiên dịch
1 Beautiful is better than ugly. Đẹp đẽ thì tốt hơn xấu xí.
2 Explicit is better than implicit. Tường minh thì tốt hơn ngầm định.
3 & 4 Simple is better than complex.

Complex is better than complicated.

Đơn giản thì tốt hơn phức tạp.

Phức tạp thì tốt hơn rắc rối.

5 Flat is better than nested. Bằng phẳng thì tốt hơn lồng ghép.
6 Sparse is better than dense. Rải rác thì tốt hơn dày đặc.
7 Readability counts. Tính dễ đọc rất đáng lưu tâm.
8 & 9 Special cases aren't special enough to break the rules.

Although practicality beats purity.

Trường hợp đặc biệt cũng không đủ đặc biệt đến nỗi phá vỡ quy tắc,

dẫu cho tính thực dụng đánh bật tính thuần túy.

10 Errors should never pass silently.

Unless explicitly silenced.

Lỗi thì đừng nên bao giờ lặng thinh mà bỏ qua,

trừ phi bắt nó câm lặng một cách tường minh.

12 In the face of ambiguity, refuse the temptation to guess. Khi đối mặt với sự mơ hồ, hãy từ chối cám dỗ của việc suy đoán.
13 & 14 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.

Nên có một – và thà chỉ có một – cách rõ ràng để làm điều đó,

mặc dù cách đó ban đầu có thể không hiển nhiên, trừ phi bạn là người Hà Lan.

15 & 16 Now is better than never.

Although never is often better than right now.

Bây giờ thì tốt hơn không bao giờ,

mặc dù không bao giờ thì thường là tốt hơn ngay bây giờ.

17 & 18 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.

Nếu bản thực hiện mà khó giải thích, thì đó là một ý tưởng tồi.

Nếu bản thực hiện mà dễ giải thích, thì đó có thể là một ý tưởng hay.

19 Namespaces are one honking great idea—let's do more of those! Không gian tên là một ý tưởng rất chi là vĩ đại—hãy làm thế nhiều hơn!

Tham khảo sửa

  1. ^ a b Reitz, Kenneth (2011–2019). “Code Style”. The Hitchhiker’s Guide to Python.
  2. ^ Peters, Tim (4 tháng 6 năm 1994). “The Python Way”. Python Software Foundation.
  3. ^ a b Peters, Tim (19 tháng 8 năm 2004). “PEP 20—The Zen of Python”. Python Software Foundation.