Bước tới nội dung

Zen of Python

Bách khoa toàn thư mở Wikipedia

Đây là một phiên bản cũ của trang này, do Lite monkey (thảo luận | đóng góp) sửa đổi vào lúc 01:40, ngày 2 tháng 2 năm 2020 (Improve Vietnamese translation). Địa chỉ URL hiện tại là một liên kết vĩnh viễn đến phiên bản này của trang, có thể khác biệt rất nhiều so với phiên bản hiện hành.

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 đã viết bộ các nguyên tắc này và đăng tải lên Python mailing list 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 Guido van Rossum – 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.

Zen of Python của Peters đã được gộp vào làm mục số 20 trong Bộ Đề xuất 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 (Easter Egg) 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.[3][1]

Các nguyên tắc

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 và 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. Khai triển 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. Mã nguồn dễ đọc là điều đáng lưu tâm.
8 và 9 Special cases aren't special enough to break the rules.

Although practicality beats purity.

Không có ngoại lệ nào đáng để vi phạm các nguyên tắc,

dù tính thực dụng đánh bật tính thuần khiết.

10 Errors should never pass silently.

Unless explicitly silenced.

Lỗi thì không thể lặng thinh mà bỏ qua,

trừ phi bỏ qua nó 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 và 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.

Cho mỗi mục đích, nên có một – và chỉ một – cách thức hiển nhiên,

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

15 và 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 và 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 việc hiện thực hóa mà khó giải thích, thì đó là một ý tưởng tồi.

Nếu việc hiện thực hóa 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

  1. ^ a b Reitz, Kenneth. "Code Style". The Hitchhiker’s Guide to Python. {{Chú thích web}}: Chú thích có tham số trống không rõ: |url hỏng= (trợ giúp)
  2. ^ Peters, Tim (ngày 4 tháng 6 năm 1994). "The Python Way". Python Software Foundation. {{Chú thích web}}: Chú thích có tham số trống không rõ: |url hỏng= (trợ giúp)
  3. ^ a b Peters, Tim (ngày 19 tháng 8 năm 2004). "PEP 20—The Zen of Python". Python Software Foundation. {{Chú thích web}}: Chú thích có tham số trống không rõ: |url hỏng= (trợ giúp)