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 MeigyokuThmn (thảo luận | đóng góp) sửa đổi vào lúc 16:19, ngày 17 tháng 12 năm 2019 (Giải thích cách dịch Implemetation). Đị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. Xinh đẹ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. 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 và 9 Special cases aren't special enough to break the rules.

Although practicality beats purity.

Mặc dù tính thực dụng đánh bật tính thuần túy,

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

10 Errors should never pass silently.

Unless explicitly silenced.

Lỗi thì khô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 tính mơ hồ, hãy cự tuyệt lòng cám dỗ 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.

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

mặc dù cách đó có lẽ ban đầu không hiển nhiên 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 sự thực chế[4] mà khó giải thích, thì đó là một ý tưởng tồi.

Nếu sự thực chế mà dễ giải thích, thì đó có lẽ 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)
  4. ^ Implementation là sự hiện thực hóa của một ứng dụng, hoặc sự thực thi của một kế hoạch, ý tưởng, mô hình, thiết kế, đặc tả, tiêu chuẩn, thuật toán, hoặc chính sách. Vì vậy ở bài viết này, "thực chế" được dùng để dịch khái niệm Implementation nhằm phân biệt với khái niệm Realization (hiện thực hóa) vốn có nghĩa rộng hơn Implementation.