Hướng dẫn python line length best practices - các phương pháp hay nhất về độ dài dòng python
Tôi là một lập trình viên phải đối phó với rất nhiều mã hàng ngày. Nguồn mở và những gì đã được phát triển trong nhà. Show
Là một lập trình viên, tôi thấy rất hữu ích khi mở nhiều tệp nguồn cùng một lúc và thường tổ chức máy tính để bàn của tôi trên màn hình (màn hình rộng) của tôi để hai tệp nguồn nằm cạnh nhau. Tôi có thể đang lập trình trong cả hai, hoặc chỉ đọc một và lập trình trong cái kia. Tôi thấy nó không hài lòng và bực bội khi một trong những tệp nguồn đó có chiều rộng> 120 ký tự, bởi vì điều đó có nghĩa là tôi không thể thoải mái phù hợp với một dòng mã trên một dòng màn hình. Nó làm đảo lộn định dạng để bọc dòng. Tôi nói '120' bởi vì đó là cấp độ mà tôi sẽ cảm thấy khó chịu khi mã rộng hơn. Sau nhiều ký tự, bạn nên chia tách trên các dòng để đọc, chứ đừng nói đến các tiêu chuẩn mã hóa. Tôi viết mã với 80 cột trong tâm trí. Đây chỉ là khi tôi rò rỉ qua ranh giới đó, đó không phải là một điều xấu. Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: viết mã Pythonic đẹp với PEP 8 This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Writing Beautiful Pythonic Code With PEP 8 Các dòng Python nên kéo dài bao lâu? Độ dài dòng tối đa và phá vỡ dòng PEP 8 gợi ý các dòng phải được giới hạn ở 79 ký tự. Điều này là do nó cho phép bạn mở nhiều tệp bên cạnh nhau, đồng thời tránh việc gói dòng. Tất nhiên, việc giữ tuyên bố cho 79 ký tự hoặc ít hơn không phải lúc nào cũng có thể. Giới hạn độ dài được đề xuất cho một dòng mã là gì? Đến cuối hướng dẫn này, bạn sẽ có thể::
Tại sao chúng ta cần Pep 8
PEP 8 tồn tại để cải thiện khả năng đọc của mã Python. Nhưng tại sao khả năng đọc lại quan trọng như vậy? Tại sao viết mã có thể đọc được là một trong những nguyên tắc hướng dẫn của ngôn ngữ Python? Như Guido Van Rossum đã nói, mã Code được đọc thường xuyên hơn nhiều so với viết. Bạn có thể dành một vài phút, hoặc cả ngày, viết một đoạn mã để xử lý xác thực người dùng. Một khi bạn đã viết nó, bạn sẽ không bao giờ viết nó nữa. Nhưng bạn chắc chắn sẽ phải đọc nó một lần nữa. Món mã đó có thể vẫn là một phần của một dự án mà bạn đang làm việc. Mỗi khi bạn quay lại tệp đó, bạn sẽ phải nhớ mã đó làm gì và tại sao bạn viết nó, vì vậy khả năng đọc có vấn đề. Nếu bạn mới sử dụng Python, có thể khó có thể nhớ một đoạn mã làm gì trong vài ngày, hoặc vài tuần, sau khi bạn viết nó. Nếu bạn theo PEP 8, bạn có thể chắc chắn rằng bạn đã đặt tên cho các biến của mình tốt. Bạn có thể biết rằng bạn đã thêm đủ khoảng trắng để nó dễ dàng hơn để làm theo các bước logic trong mã của bạn. Bạn cũng đã nhận xét mã của bạn tốt. Tất cả điều này sẽ có nghĩa là mã của bạn dễ đọc hơn và dễ dàng trở lại. Là người mới bắt đầu, tuân theo các quy tắc của PEP 8 có thể làm cho việc học Python trở thành một nhiệm vụ dễ chịu hơn nhiều. Theo PEP 8 đặc biệt quan trọng nếu bạn đang tìm kiếm một công việc phát triển. Viết rõ ràng, mã có thể đọc được cho thấy sự chuyên nghiệp. Nó sẽ nói với một nhà tuyển dụng rằng bạn hiểu cách cấu trúc tốt mã của bạn. Nếu bạn có thêm kinh nghiệm viết mã Python, thì bạn có thể cần phải hợp tác với người khác. Viết mã có thể đọc ở đây là rất quan trọng. Những người khác, những người có thể chưa bao giờ gặp bạn hoặc nhìn thấy phong cách mã hóa của bạn trước đây, sẽ phải đọc và hiểu mã của bạn. Có các hướng dẫn mà bạn làm theo và nhận ra sẽ giúp người khác đọc mã của bạn dễ dàng hơn. Đặt tên quy ước
PEP 8 tồn tại để cải thiện khả năng đọc của mã Python. Nhưng tại sao khả năng đọc lại quan trọng như vậy? Tại sao viết mã có thể đọc được là một trong những nguyên tắc hướng dẫn của ngôn ngữ Python? Như Guido Van Rossum đã nói, mã Code được đọc thường xuyên hơn nhiều so với viết. Bạn có thể dành một vài phút, hoặc cả ngày, viết một đoạn mã để xử lý xác thực người dùng. Một khi bạn đã viết nó, bạn sẽ không bao giờ viết nó nữa. Nhưng bạn chắc chắn sẽ phải đọc nó một lần nữa. Món mã đó có thể vẫn là một phần của một dự án mà bạn đang làm việc. Mỗi khi bạn quay lại tệp đó, bạn sẽ phải nhớ mã đó làm gì và tại sao bạn viết nó, vì vậy khả năng đọc có vấn đề.Nếu bạn mới sử dụng Python, có thể khó có thể nhớ một đoạn mã làm gì trong vài ngày, hoặc vài tuần, sau khi bạn viết nó. Nếu bạn theo PEP 8, bạn có thể chắc chắn rằng bạn đã đặt tên cho các biến của mình tốt. Bạn có thể biết rằng bạn đã thêm đủ khoảng trắng để nó dễ dàng hơn để làm theo các bước logic trong mã của bạn. Bạn cũng đã nhận xét mã của bạn tốt. Tất cả điều này sẽ có nghĩa là mã của bạn dễ đọc hơn và dễ dàng trở lại. Là người mới bắt đầu, tuân theo các quy tắc của PEP 8 có thể làm cho việc học Python trở thành một nhiệm vụ dễ chịu hơn nhiều.
3, 4, 5Mô -đunSử dụng một từ hoặc từ ngắn, chữ thường. Các từ riêng biệt với dấu gạch dưới để cải thiện khả năng đọc. 6, 7>>>
Điều này sẽ hoạt động, nhưng bạn sẽ phải theo dõi những gì 6, 4 và 5 đại diện. Nó cũng có thể gây nhầm lẫn cho các cộng tác viên. Một lựa chọn rõ ràng hơn nhiều về tên sẽ là một cái gì đó như thế này:>>>
Tương tự, để giảm số lượng gõ bạn làm, việc sử dụng chữ viết tắt khi chọn tên. Trong ví dụ dưới đây, tôi đã xác định một hàm 6 có một đối số duy nhất 6 và nhân đôi nó:
Thoạt nhìn, điều này có vẻ như là một lựa chọn hợp lý. 6 có thể dễ dàng là một chữ viết tắt cho gấp đôi. Nhưng hãy tưởng tượng trở lại với mã này trong một vài ngày. Bạn có thể đã quên những gì bạn đã cố gắng đạt được với chức năng này, và điều đó sẽ khiến việc bạn viết tắt làm thế nào nó trở nên khó khăn.Ví dụ sau đây rõ ràng hơn nhiều. Nếu bạn quay lại mã này một vài ngày sau khi viết nó, bạn sẽ vẫn có thể đọc và hiểu mục đích của chức năng này:
Triết lý tương tự áp dụng cho tất cả các loại dữ liệu và đối tượng khác trong Python. Luôn cố gắng sử dụng các tên ngắn gọn nhưng mô tả nhất có thể. Bố cục mã
Làm thế nào bạn đưa ra mã của bạn có một vai trò rất lớn trong cách nó có thể đọc được. Trong phần này, bạn sẽ học cách thêm khoảng trắng dọc để cải thiện khả năng đọc mã của bạn. Bạn cũng sẽ học cách xử lý giới hạn dòng 79 ký tự được đề xuất trong PEP 8. Các dòng trốngKhoảng trắng dọc, hoặc các dòng trống, có thể cải thiện đáng kể khả năng đọc mã của bạn. Mã mà Lừa bị bó lại với nhau có thể quá sức và khó đọc. Tương tự, quá nhiều dòng trống trong mã của bạn làm cho nó trông rất thưa thớt và người đọc có thể cần phải cuộn nhiều hơn mức cần thiết. Dưới đây là ba hướng dẫn chính về cách sử dụng khoảng trắng dọc. Các chức năng và lớp cấp cao nhất với hai dòng trống. Các chức năng và các lớp cấp cao nhất nên được khép kín và xử lý các chức năng riêng biệt. Thật hợp lý khi đặt thêm không gian thẳng đứng xung quanh chúng, để nó rõ ràng chúng là riêng biệt: Top-level functions and classes should be fairly self-contained and handle separate functionality. It makes sense to put extra vertical space around them, so that it’s clear they are separate:
Định nghĩa phương thức xung quanh bên trong các lớp với một dòng trống duy nhất. Bên trong một lớp, các chức năng đều liên quan đến nhau. Nó thực hành tốt chỉ để lại một dòng duy nhất giữa họ: Inside a class, functions are all related to one another. It’s good practice to leave only a single line between them:
Sử dụng các dòng trống một cách tiết kiệm các chức năng để hiển thị các bước rõ ràng. Đôi khi, một chức năng phức tạp phải hoàn thành một số bước trước câu lệnh 9 statement. To help the reader understand the logic inside the function, it can be helpful to leave a blank line between each step.Trong ví dụ dưới đây, có một hàm để tính phương sai của danh sách. Đây là vấn đề hai bước, vì vậy tôi đã chỉ ra mỗi bước bằng cách để lại một đường trống giữa chúng. Ngoài ra còn có một dòng trống trước câu lệnh 9. Điều này giúp người đọc thấy rõ những gì đã trả lại:
Nếu bạn sử dụng một khoảng trắng dọc, nó có thể cải thiện đáng kể khả năng đọc mã của bạn. Nó giúp người đọc hiểu trực quan cách mã của bạn chia thành các phần và cách các phần đó liên quan đến nhau. Độ dài dòng tối đa và phá vỡ đườngPEP 8 gợi ý các dòng nên được giới hạn ở 79 ký tự. Điều này là do nó cho phép bạn mở nhiều tệp bên cạnh nhau, đồng thời tránh việc gói dòng. Tất nhiên, việc giữ tuyên bố cho 79 ký tự hoặc ít hơn không phải lúc nào cũng có thể. PEP 8 phác thảo các cách để cho phép các câu lệnh chạy qua một số dòng. Python sẽ giả định tiếp tục dòng nếu mã được chứa trong ngoặc đơn, dấu ngoặc hoặc niềng răng:
Nếu không thể sử dụng tiếp tục ngụ ý, thì bạn có thể sử dụng dấu gạch chéo ngược để phá vỡ các dòng thay thế:
Tuy nhiên, nếu bạn có thể sử dụng tiếp tục ngụ ý, thì bạn nên làm như vậy. Nếu phá vỡ dòng cần xảy ra xung quanh các toán tử nhị phân, như 1 và 2, nó sẽ xảy ra trước toán tử. Quy tắc này bắt nguồn từ toán học. Các nhà toán học đồng ý rằng phá vỡ trước khi các nhà khai thác nhị phân cải thiện khả năng đọc. So sánh hai ví dụ sau.Dưới đây là một ví dụ về việc phá vỡ trước một toán tử nhị phân:
Bạn có thể ngay lập tức thấy biến nào đang được thêm hoặc trừ, vì toán tử nằm ngay bên cạnh biến được vận hành. Bây giờ, hãy để Lừa xem một ví dụ về việc phá vỡ sau một nhà điều hành nhị phân: 0Ở đây, nó khó hơn để xem biến nào đang được thêm vào và cái nào được trừ đi. Phá vỡ trước khi các nhà khai thác nhị phân tạo ra mã dễ đọc hơn, vì vậy PEP 8 khuyến khích nó. Mã liên tục bị phá vỡ sau khi một toán tử nhị phân vẫn tuân thủ PEP 8. Tuy nhiên, bạn đã khuyến khích phá vỡ trước một nhà điều hành nhị phân. Vết lõm
Thụt lề, hoặc khoảng trắng hàng đầu, là vô cùng quan trọng ở Python. Mức độ thụt của các dòng mã trong Python xác định cách các câu lệnh được nhóm lại với nhau. Xem xét ví dụ sau: 1Tuyên bố 3 thụt lề cho phép Python biết rằng nó chỉ nên được thực thi nếu câu lệnh 4 trả về 5. Cùng thụt tương tự áp dụng để nói với Python nên thực thi mã nào khi một hàm được gọi hoặc mã nào thuộc về một lớp nhất định.Các quy tắc thụt chính được đặt ra bởi PEP 8 là như sau:
Tab so với không gianNhư đã đề cập ở trên, bạn nên sử dụng không gian thay vì các tab khi thụt mã. Bạn có thể điều chỉnh các cài đặt trong trình soạn thảo văn bản của mình để xuất 4 khoảng trắng thay vì ký tự tab, khi bạn nhấn phím tab.Tab key. Nếu bạn sử dụng Python 2 và đã sử dụng hỗn hợp các tab và không gian để thụt mã mã của bạn, bạn đã giành được lỗi khi cố gắng chạy nó. Để giúp bạn kiểm tra tính nhất quán, bạn có thể thêm cờ 6 khi chạy mã Python 2 từ dòng lệnh. Thông dịch viên sẽ đưa ra các cảnh báo khi bạn không phù hợp với việc sử dụng các tab và không gian của bạn: 2Thay vào đó, nếu bạn sử dụng cờ 7, trình thông dịch sẽ đưa ra lỗi thay vì cảnh báo và mã của bạn sẽ không chạy. Lợi ích của việc sử dụng phương pháp này là thông dịch viên cho bạn biết sự không nhất quán ở đâu: 3Python 3 không cho phép trộn các tab và không gian. Do đó, nếu bạn đang sử dụng Python 3, thì các lỗi này sẽ được cấp tự động: 4Bạn có thể viết mã Python bằng các tab hoặc không gian cho biết thụt lề. Nhưng, nếu bạn sử dụng Python 3, bạn phải phù hợp với sự lựa chọn của mình. Nếu không, mã của bạn sẽ không chạy. PEP 8 khuyên bạn nên luôn sử dụng 4 không gian liên tiếp để chỉ ra thụt lề. Vết lõm sau khi phá vỡ dòngKhi bạn sử dụng các tiếp tục dòng để giữ các dòng dưới 79 ký tự, sẽ rất hữu ích khi sử dụng thụt vào để cải thiện khả năng đọc. Nó cho phép người đọc phân biệt giữa hai dòng mã và một dòng mã duy nhất kéo dài hai dòng. Có hai kiểu thụt bạn có thể sử dụng. Đầu tiên trong số này là căn chỉnh khối thụt lề với dấu phân cách mở:
Đôi khi bạn có thể thấy rằng chỉ cần 4 khoảng trống để sắp xếp với dấu phân cách mở. Điều này thường sẽ xảy ra trong các câu lệnh 4 trải rộng trên nhiều dòng dưới dạng 4, không gian và khung mở tạo thành 4 ký tự. Trong trường hợp này, có thể khó xác định nơi khối mã lồng nhau bên trong câu lệnh 4 bắt đầu: 6Trong trường hợp này, PEP 8 cung cấp hai lựa chọn thay thế để giúp cải thiện khả năng đọc:
Một phong cách thay thế của thụt sau khi phá vỡ dòng là một thụt lề treo. Đây là một thuật ngữ đánh máy có nghĩa là mỗi dòng nhưng đầu tiên trong một đoạn hoặc câu lệnh được thụt vào. Bạn có thể sử dụng thụt lề treo để biểu thị trực quan một dòng mã. Đây là một ví dụ:hanging indent. This is a typographical term meaning that every line but the first in a paragraph or statement is indented. You can use a hanging indent to visually represent a continuation of a line of code. Here’s an example: 9Khi sử dụng thụt lề treo, hãy thêm thụt lề để phân biệt dòng tiếp tục với mã chứa bên trong hàm. Ví dụ sau rất khó đọc vì mã bên trong hàm ở cùng mức thụt với các dòng tiếp tục: 0Thay vào đó, nó tốt hơn để sử dụng một thụt lề kép trên tiếp tục dòng. Điều này giúp bạn phân biệt giữa các đối số chức năng và cơ thể chức năng, cải thiện khả năng đọc: 1Khi bạn viết mã tuân thủ PEP 8, giới hạn dòng 79 ký tự buộc bạn phải thêm các lần phá vỡ dòng trong mã của bạn. Để cải thiện khả năng đọc, bạn nên thụt vào một dòng tiếp tục để cho thấy rằng đó là một dòng tiếp tục. Có hai cách để làm điều này. Đầu tiên là căn chỉnh khối thụt lề với dấu phân cách mở. Thứ hai là sử dụng một thụt lề treo. Bạn có thể tự do chọn phương pháp nào bạn sử dụng sau khi phá vỡ dòng. Đâu để đặt nẹp đóng cửa ở đâuTiếp tục dòng cho phép bạn phá vỡ các đường bên trong dấu ngoặc đơn, ngoặc hoặc niềng răng. Nó dễ dàng quên đi nẹp đóng, nhưng nó rất quan trọng để đặt nó ở đâu đó hợp lý. Nếu không, nó có thể gây nhầm lẫn cho người đọc. PEP 8 cung cấp hai tùy chọn cho vị trí của nẹp đóng trong các tiếp tục dòng ngụ ý:
Bạn có thể tự do chọn tùy chọn bạn sử dụng. Nhưng, như mọi khi, tính nhất quán là chìa khóa, vì vậy hãy cố gắng gắn bó với một trong các phương pháp trên. Khoảng trắng trong biểu thức và câu lệnh
Whitespace có thể rất hữu ích trong các biểu thức và câu lệnh khi được sử dụng đúng cách. Nếu không có đủ khoảng trắng, thì mã có thể khó đọc, vì tất cả đều bị bó lại với nhau. Nếu có quá nhiều khoảng trắng, thì có thể khó kết hợp trực quan các thuật ngữ liên quan trong một tuyên bố. Khoảng trắng xung quanh các nhà khai thác nhị phânBao quanh các toán tử nhị phân sau với một không gian ở hai bên:
Khi có nhiều hơn một toán tử trong một câu lệnh, việc thêm một khoảng trống trước và sau mỗi người vận hành có thể trông khó hiểu. Thay vào đó, tốt hơn là chỉ thêm khoảng trắng xung quanh các toán tử với mức độ ưu tiên thấp nhất, đặc biệt là khi thực hiện thao tác toán học. Dưới đây là một vài ví dụ: 4Bạn cũng có thể áp dụng điều này cho các câu lệnh 4 trong đó có nhiều điều kiện: 5Trong ví dụ trên, toán tử 04 có mức độ ưu tiên thấp nhất. Do đó, có thể rõ ràng hơn để thể hiện tuyên bố 4 như dưới đây: 6Bạn có thể tự do chọn loại nào rõ ràng hơn, với cảnh báo rằng bạn phải sử dụng cùng một lượng khoảng trắng ở hai bên của toán tử. Điều sau đây không được chấp nhận: 7Trong các lát cắt, các dấu chấm là một nhà khai thác nhị phân. Do đó, các quy tắc được nêu trong phần trước được áp dụng và phải có cùng một lượng khoảng trắng ở hai bên. Các ví dụ sau đây về các lát danh sách là hợp lệ: 8Tóm lại, bạn nên bao quanh hầu hết các nhà khai thác với khoảng trắng. Tuy nhiên, có một số cảnh báo cho quy tắc này, chẳng hạn như trong các đối số chức năng hoặc khi bạn kết hợp nhiều toán tử trong một câu lệnh. Khi nào nên tránh thêm khoảng trắngTrong một số trường hợp, việc thêm khoảng trắng có thể làm cho mã khó đọc hơn. Quá nhiều khoảng trắng có thể làm cho mã quá thưa và khó theo dõi. PEP 8 phác thảo các ví dụ rất rõ ràng trong đó khoảng trắng là không phù hợp. Nơi quan trọng nhất để tránh thêm khoảng trắng là ở cuối dòng. Điều này được gọi là khoảng trắng theo dõi. Nó là vô hình và có thể tạo ra các lỗi khó theo dõi.trailing whitespace. It is invisible and can produce errors that are difficult to trace. Danh sách sau đây phác thảo một số trường hợp bạn nên tránh thêm khoảng trắng:
Hãy chắc chắn rằng không có khoảng trắng nào ở bất cứ đâu trong mã của bạn. Có những trường hợp khác trong đó PEP 8 không khuyến khích thêm khoảng trắng, chẳng hạn như ngay bên trong ngoặc, cũng như trước dấu phẩy và đại quý. Bạn cũng không bao giờ nên thêm khoảng trắng bổ sung để sắp xếp các nhà khai thác. Khuyến nghị lập trình
Whitespace có thể rất hữu ích trong các biểu thức và câu lệnh khi được sử dụng đúng cách. Nếu không có đủ khoảng trắng, thì mã có thể khó đọc, vì tất cả đều bị bó lại với nhau. Nếu có quá nhiều khoảng trắng, thì có thể khó kết hợp trực quan các thuật ngữ liên quan trong một tuyên bố. Khoảng trắng xung quanh các nhà khai thác nhị phân You’ll often need to check if a Boolean value is True or False. When doing so, it is intuitive to do this with a statement like the one below: 5Bao quanh các toán tử nhị phân sau với một không gian ở hai bên: 6Toán tử chuyển nhượng ( 1, 2, 3, v.v.)So sánh ( 18 which is equivalent to 11 when used in an 4 statement. Here’s an example: 7Booleans ( 04, 05, 06) 8Mặc dù cả hai ví dụ sẽ in ra 21, tùy chọn thứ hai đơn giản hơn, vì vậy PEP 8 khuyến khích nó.Sử dụng 4 statement with 26, as in the example below: 9Tùy chọn thứ hai sẽ là đánh giá 27 và sau đó có tuyên bố 4 dựa trên 05 Kết quả: 0Mặc dù cả hai tùy chọn sẽ được đánh giá chính xác, nhưng đầu tiên đơn giản hơn, vì vậy PEP 8 khuyến khích nó. Don Tiết sử dụng 32 by default. A common mistake when checking
if such an argument, 33, has been given a different value is to use the following: 1Mã này kiểm tra rằng 33 là sự thật. Thay vào đó, bạn muốn kiểm tra xem 33 là 36, vì vậy sẽ tốt hơn nếu sử dụng như sau: 2Sai lầm được thực hiện ở đây là giả định rằng 36 và sự thật là tương đương. Bạn có thể đã đặt 38. Như chúng ta đã thấy ở trên, các danh sách trống được đánh giá là giả mạo trong Python. Vì vậy, mặc dù đối số 33 đã được chỉ định, điều kiện không được đáp ứng và do đó, mã trong phần thân của câu lệnh 4 sẽ không được thực thi.Sử dụng 43 was prefixed, or suffixed, with the word 44, it might seem sensible to use list slicing. However, list slicing is prone to error, and you have to hardcode the number of characters
in the prefix or suffix. It is also not clear to someone less familiar with Python list slicing what you are trying to achieve: 3Tuy nhiên, điều này không thể đọc được như sử dụng 41: 4Tương tự, nguyên tắc tương tự được áp dụng khi bạn kiểm tra hậu tố. Ví dụ dưới đây phác thảo cách bạn có thể kiểm tra xem một chuỗi kết thúc trong 46: 5Trong khi kết quả là chính xác, ký hiệu hơi khó hiểu và khó đọc. Thay vào đó, bạn có thể sử dụng 42 như trong ví dụ dưới đây: 6Như với hầu hết các khuyến nghị lập trình này, mục tiêu là khả năng đọc và đơn giản. Trong Python, có nhiều cách khác nhau để thực hiện cùng một hành động, vì vậy các hướng dẫn về phương pháp nào để chọn là hữu ích. Khi nào bỏ qua Pep 8Câu trả lời ngắn gọn cho câu hỏi này là không bao giờ. Nếu bạn theo PEP 8 đến thư, bạn có thể đảm bảo rằng bạn sẽ có mã sạch, chuyên nghiệp và có thể đọc được. Điều này sẽ có lợi cho bạn cũng như các cộng tác viên và nhà tuyển dụng tiềm năng. Tuy nhiên, một số hướng dẫn trong PEP 8 là bất tiện trong các trường hợp sau:
Mẹo và thủ thuật để giúp đảm bảo mã của bạn theo PEP 8Có rất nhiều điều cần nhớ để đảm bảo mã của bạn tuân thủ PEP 8. Nó có thể là một thứ tự cao để ghi nhớ tất cả các quy tắc này khi bạn phát triển mã. Nó đặc biệt tốn thời gian để cập nhật các dự án trong quá khứ để tuân thủ PEP 8. May mắn thay, có những công cụ có thể giúp tăng tốc quá trình này. Có hai loại công cụ mà bạn có thể sử dụng để thực thi tuân thủ PEP 8: Linters và AutoforMtones. LintersLinters là các chương trình phân tích lỗi mã và cờ. Họ cung cấp các đề xuất về cách khắc phục lỗi. Linters đặc biệt hữu ích khi được cài đặt làm phần mở rộng cho trình soạn thảo văn bản của bạn, vì chúng gắn cờ lỗi và các vấn đề về phong cách trong khi bạn viết. Trong phần này, bạn sẽ thấy một phác thảo về cách các linters hoạt động, với các liên kết đến các phần mở rộng trình soạn thảo văn bản ở cuối. Các lớp lót tốt nhất cho mã Python là như sau:
Chúng cũng có sẵn dưới dạng tiện ích mở rộng cho Atom, văn bản tuyệt vời, mã Visual Studio và VIM. Bạn cũng có thể tìm thấy các hướng dẫn về thiết lập văn bản siêu phàm và vim để phát triển Python, cũng như tổng quan về một số biên tập viên văn bản phổ biến tại Real Python. AutoformattersAutoforMatters là các chương trình tái cấu trúc mã của bạn để tự động tuân thủ PEP 8. Khi chương trình như vậy là 58, mã tự động theo hầu hết các quy tắc trong PEP 8. Một sự khác biệt lớn là nó giới hạn độ dài dòng là 88 ký tự, thay vì 79. Tuy nhiên, bạn có thể ghi đè lên điều này bằng cách thêm cờ dòng lệnh, khi bạn 'sẽ thấy trong một ví dụ dưới đây.Cài đặt 58 bằng cách sử dụng 50. Nó yêu cầu Python 3.6+ để chạy:Nó có thể được chạy qua dòng lệnh, như với các linters. Hãy nói rằng bạn bắt đầu với mã sau đó là PEP 8 tuân thủ trong một tệp có tên 61: 0Sau đó, bạn có thể chạy lệnh sau thông qua dòng lệnh: 1 61 sẽ tự động được định dạng lại để trông như thế này: 2Nếu bạn muốn thay đổi giới hạn độ dài dòng, thì bạn có thể sử dụng cờ 63: 3Hai tự động tự động khác, 64 và 65, thực hiện các hành động tương tự như những gì 58 làm.Một hướng dẫn Python thực sự khác, Chất lượng mã Python: Công cụ & Thực tiễn tốt nhất của Alexander Van Tol, đưa ra lời giải thích kỹ lưỡng về cách sử dụng các công cụ này. Sự kết luậnBây giờ bạn đã biết cách viết mã python chất lượng cao, có thể đọc được bằng cách sử dụng các hướng dẫn được trình bày trong PEP 8. Trong khi các hướng dẫn có thể có vẻ như là thiết kế, theo chúng thực sự có thể cải thiện mã của bạn, đặc biệt là khi chia sẻ mã của bạn với các nhà tuyển dụng tiềm năng hoặc cộng tác viên. Trong hướng dẫn này, bạn đã học được:
Trên hết, bạn cũng đã thấy cách sử dụng linters và autoformatters để kiểm tra mã của bạn theo hướng dẫn của PEP 8. Nếu bạn muốn tìm hiểu thêm về PEP 8, thì bạn có thể đọc tài liệu đầy đủ hoặc truy cập pep8.org, trong đó chứa thông tin tương tự nhưng đã được định dạng độc đáo. Trong các tài liệu này, bạn sẽ tìm thấy phần còn lại của hướng dẫn PEP 8 không được đề cập trong hướng dẫn này. Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: viết mã Pythonic đẹp với PEP 8 This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Writing Beautiful Pythonic Code With PEP 8 Các dòng Python nên kéo dài bao lâu?Độ dài dòng tối đa và phá vỡ dòng PEP 8 gợi ý các dòng phải được giới hạn ở 79 ký tự. Điều này là do nó cho phép bạn mở nhiều tệp bên cạnh nhau, đồng thời tránh việc gói dòng. Tất nhiên, việc giữ tuyên bố cho 79 ký tự hoặc ít hơn không phải lúc nào cũng có thể.79 characters. This is because it allows you to have multiple files open next to one another, while also avoiding line wrapping. Of course, keeping statements to 79 characters or less is not always possible.
Giới hạn độ dài được đề xuất cho một dòng mã là gì?Hầu hết đề xuất một giới hạn từ 80 đến 100 ký tự. Lưu ý mức độ hiệu quả của GO không đề xuất tối đa cố định: Go không có giới hạn độ dài dòng.between 80 and 100 characters. Note how Effective Go doesn't recommend a fixed maximum: Go has no line length limit.
Một dòng mã nên có bao nhiêu ký tự?Nếu có bất kỳ tiêu chuẩn công nghiệp được chấp nhận nào cho chiều rộng dòng tối đa, thì đó là 80 ký tự.Tôi đã sử dụng tối đa đó trong nhiều năm và đó là mức tối đa tốt.Giống như tất cả các lập trình viên khác, mã của người khác làm tôi khó chịu.Khó chịu phổ biến nhất là mọi người viết mã quá rộng.80 characters. I've used that maximum for years, and it's a good maximum. Like all other programmers, other people's code annoys me. The most common annoyance is that people write too wide code.
Các ký tự tối đa mà một dòng có thể chứa trong Python là gì?Theo PEP, độ dài dòng tối đa vẫn là 79. Đã đến lúc cập nhật điều này.Hầu hết các nhà phát triển sử dụng hệ thống với thông số kỹ thuật gốc.Khả năng đọc, hơi hẹp nếu người ta sử dụng tên biến dài hơn.79. Its time to update this. Most of the developers use system with descent spec. readability, are a bit narrow if one uses longer variable names. |