12/08/2018, 18:09

[Python] PEP là gì?

Lời nói đầu. Thỉnh thoảng trong các bài viết có sử dụng ngôn ngữ python, người ta thường hay trích dẫn là theo PEP XXX, hoặc tham khảo PEPYYY gì đó. Hoặc code-convention chưa đúng, theo PEP8 phải viết như này, như kia mới đúng. Vậy PEP là gì thế? Khi mình bắt đầu học và code ngôn ngữ python, ...

Lời nói đầu.

  • Thỉnh thoảng trong các bài viết có sử dụng ngôn ngữ python, người ta thường hay trích dẫn là theo PEP XXX, hoặc tham khảo PEPYYY gì đó. Hoặc code-convention chưa đúng, theo PEP8 phải viết như này, như kia mới đúng. Vậy PEP là gì thế?
  • Khi mình bắt đầu học và code ngôn ngữ python, cũng không có khái niệm chính xác, hoặc hiểu chính xác PEP là gì, mà bộp một cái, phải đọc hiểu PEP8, để sử dụng nó như một code-convention chuẩn của các project python. Hồi đó, mình nghĩ PEP chắc là chuẩn code-covention được cộng đồng python đồng ý và sử dụng rộng rãi, như kiểu người ta có quy ước chung về một điều gì đó mà mọi người đều cho là đúng vậy.
  • Không thể phủ nhận, nếu mới bắt đầu bước vào con đường lập trình, và sử dụng ngôn ngữ python, việc học thuộc lòng PEP8 và sử dụng nó như một chuẩn code-convetion để viết code, là một lựa chọn đơn giản và dễ dàng nhất. Nó mang lại rất nhiều điều hữu ích khi định hình một cái nhìn đúng cho bạn về ngôn ngữ python.
  • Bài viết này, mình dịch từ chuẩn PEP1. Tất nhiên, mình không có ý định dịch toàn bộ các PEPXXX, vì thật tuyệt với chúng ta giờ đã có đến PEP3333, và chúng ta không thể tìm hiểu tất cả chúng được. Nhưng tại sao mình lại chọn PEP1 mà không phải PEP8, cái thường được nhắc đến như là chuẩn code-convention tốt nhất cho người mới bắt đầu, hơn nữa, mình còn ca ngợi PEP 8 và thần thánh hóa nó lên ở bên trên nữa. Nguyên nhân, có lẽ vì PEP 8 là cái thường được tiếp xúc nhiều, và tìm hiểu dễ dàng, qua các ví dụ, cái nào nên, cái nào không nên, còn PEP1, đề cập đến mục đích và cách sử dụng PEP. Khi chúng ta cần tìm hiểu một vấn đề nào đó, chúng ta có thể sử dụng PEP như một nguồn tài liệu chuẩn đơn giản và ngắn gọn.

PEP 1 -- PEP Purpose and Guidelines

PEP 1
Title PEP Purpose and Guidelines
Author Barry Warsaw, Jeremy Hylton, David Goodger, Nick Coghlan
Status Active
Type Process
Created 13-Jun-2000
Post-History 21-Mar-2001, 29-Jul-2002, 03-May-2003, 05-May-2012, 07-Apr-2013

Thông tin của một PEP bất kỳ đều được trình bày như trên, mình không cố ý dịch nó sang tiếng việt, vì với mỗi một chuẩn PEP bất kỳ, đều có mô tả ngắn gọn như trên, để khi tìm tài liệu, chúng ta có những thông tin đơn giản nhất về nó. Như theo ví dụ trên, chúng ta có thể biết được các thông tin như số thứ tự là PEP 1 (Còn có cả PEP0 nữa các sếp nhé). Nội dung về mục địch của PEP và cách sử dụng, tác giả bao gồm :Barry Warsaw, Jeremy Hylton, David Goodger, Nick Coghlan, trạng thái vẫn được sử dụng, kiểu của pep là Process, được tạo vào 13 tháng 6 năm 2000, được chỉnh sửa theo các mốc thời gian bên dưới. Chúng ta đến với nội dung của PEP 1 nào.

What is PEP?

  • PEP là viết tắt của Python Enhancement Proposal. Một PEP là 1 tài liệu được thiết kế để cung cấp thông tin đến cộng đồng python, hoặc miêu tả một feature mới của python, hoặc các tiến trình hay môi trường của nó. Một PEP phải cung cấp một đặc tả kỹ thuật ngắn gọn về tính năng và lý do cho tính năng này.
  • PEP trở thành cơ chế cơ bản để đề xuất một feature mới, hay thu thập các issue, cũng là tài liệu thiết kế chính quyết định xem thứ gì nên có mặt ở bản release version tiếp theo của python. Những tác giả của PEP chịu trách nhiệm về việc xây dựng cộng đồng và ghi lại các ý kiến bất đồng.
  • PEP được lưu trữ các văn bản text, nên lịch sử chỉnh sửa của chúng chính là lịch sử chỉnh sửa các đề xuất feature. Cảm ơn chúa, ít ra thì mình cũng hiểu được mình đang viết cái gì.             </div>
            
            <div class=
0