Hướng dẫn how do you write a good quality code in python? - làm thế nào để bạn viết một mã chất lượng tốt trong python?

Viết mã là dễ dàng. Viết mã chất lượng cao khó hơn nhiều. Chất lượng sẽ được hiểu cả về mã thực tế [tên biến, nhận xét, tài liệu, v.v.] và kiến ​​trúc [chức năng, mô -đun và lớp học]. Nói chung, việc đưa ra một kiến ​​trúc mã được thiết kế tốt là khó khăn hơn nhiều so với việc thực hiện. Trong bài đăng này, chúng tôi sẽ đưa ra một vài lời khuyên về cách viết mã chất lượng cao. Đây là một chủ đề đặc biệt quan trọng trong học viện, vì ngày càng có nhiều nhà khoa học mà không có kinh nghiệm trước trong phát triển phần mềm cần phải viết mã.

In this post, we will give a few tips about how to write high quality code. This is a particularly important topic in academia, as more and more scientists without prior experience in software development need to code.

Viết mã chất lượng cao nguyên tắc đầu tiên

Viết mã có thể đọc có nghĩa là những người khác [hoặc bạn trong một vài tháng hoặc nhiều năm] sẽ hiểu nó nhanh hơn và sẽ sẵn sàng sử dụng nó. Nó cũng tạo điều kiện theo dõi lỗi. Mã mô hình cũng dễ hiểu và sử dụng lại. Việc triển khai chức năng chương trình của bạn trong các chức năng độc lập được tổ chức dưới dạng phân cấp các gói và mô -đun là một cách tuyệt vời để đạt được chất lượng mã cao. Việc giữ mã của bạn được ghép nối một cách lỏng lẻo khi bạn sử dụng các chức năng thay vì các lớp. Mã spaghetti thực sự khó hiểu, gỡ lỗi và tái sử dụng. Iterate giữa các phương pháp từ dưới lên và từ trên xuống trong khi làm việc trên một dự án mới. Bắt đầu với cách tiếp cận từ dưới lên cho phép bạn có được kinh nghiệm với mã trước khi bạn bắt đầu suy nghĩ về kiến ​​trúc tổng thể của chương trình. Tuy nhiên, hãy chắc chắn rằng bạn biết bạn sẽ đi đâu bằng cách suy nghĩ về cách các thành phần của bạn sẽ hoạt động cùng nhau.

Modular code is also easier to understand and to reuse. Implementing your program’s functionality in independent functions that are organized as a hierarchy of packages and modules is an excellent way of achieving high code quality.

It is easier to keep your code loosely coupled when you use functions instead of classes. Spaghetti code is really hard to understand, debug, and reuse.

Iterate between bottom-up and top-down approaches while working on a new project. Starting with a bottom-up approach lets you gain experience with the code before you start thinking about the overall architecture of your program. Still, make sure you know where you’re going by thinking about how your components will work together.

Làm thế nào những nguyên tắc viết mã chất lượng cao này dịch bằng Python?

  1. Dành thời gian để học ngôn ngữ Python một cách nghiêm túc. Xem lại danh sách tất cả các mô -đun trong thư viện tiêu chuẩn Bạn có thể phát hiện ra rằng các chức năng bạn đã thực hiện đã tồn tại. Học cách viết mã Pythonic và không dịch các thành ngữ lập trình từ các ngôn ngữ khác như Java hoặc C ++ sang Python.
  2. Tìm hiểu các mẫu thiết kế phổ biến; Đây là những giải pháp tái sử dụng chung cho các vấn đề thường xảy ra trong kỹ thuật phần mềm.
  3. Sử dụng các xác nhận trong suốt mã của bạn [từ khóa Assert] để ngăn chặn các lỗi trong tương lai [lập trình phòng thủ].
  4. Bắt đầu viết mã của bạn với một cách tiếp cận từ dưới lên; Viết các chức năng Python độc lập thực hiện các nhiệm vụ tập trung.
  5. Đừng ngần ngại tái cấu trúc mã của bạn thường xuyên. Nếu mã của bạn trở nên quá phức tạp, hãy nghĩ về cách bạn có thể đơn giản hóa nó.
  6. Tránh các lớp học khi bạn có thể. Nếu bạn có thể sử dụng một chức năng thay vì một lớp, hãy chọn chức năng. Một lớp chỉ hữu ích khi bạn cần lưu trữ trạng thái liên tục giữa các cuộc gọi chức năng. Làm cho các chức năng của bạn tinh khiết nhất có thể [không có tác dụng phụ].
  7. Nói chung, thích các loại bản địa Python [danh sách, bộ dữ liệu, từ điển và các loại từ Mô -đun Bộ sưu tập Python] qua các loại tùy chỉnh [lớp]. Các loại bản địa dẫn đến mã hiệu quả hơn, dễ đọc và di động hơn.
  8. Chọn đối số từ khóa đối với các đối số vị trí trong các chức năng của bạn. Tên đối số dễ nhớ hơn là đặt hàng đối số. Họ làm cho các chức năng của bạn tự ghi chép.
  9. Đặt tên cho các biến của bạn một cách cẩn thận. Tên của các hàm và phương pháp nên bắt đầu bằng một động từ. Một tên biến nên mô tả nó là gì. Một tên chức năng nên mô tả những gì nó làm. Tầm quan trọng của việc đặt tên mọi thứ không thể được cường điệu hóa.
  10. Mỗi chức năng nên có một DocString mô tả mục đích, đối số và giá trị trả về của nó, như được hiển thị trong ví dụ sau. Bạn cũng có thể xem xét các quy ước được chọn trong các thư viện phổ biến như Numpy. Công ước chính xác không quan trọng, vấn đề là nhất quán trong mã của bạn. Bạn có thể sử dụng một ngôn ngữ đánh dấu như Markdown hoặc phần còn lại để làm điều đó.
  11. Thực hiện theo [ít nhất một phần] Hướng dẫn theo phong cách Guido Van Rossum, cho Python, còn được gọi là đề xuất tăng cường Python số 8 [PEP8]. Nó là một bài đọc dài, nhưng nó sẽ giúp bạn viết mã Python có thể đọc được. Nó bao gồm nhiều điều nhỏ như khoảng cách giữa các nhà khai thác, đặt tên quy ước, nhận xét và tài liệu. Chẳng hạn, bạn sẽ biết rằng nó được coi là một thông lệ tốt để giới hạn bất kỳ dòng mã nào của mã của bạn ở 79 hoặc 99 ký tự. Bằng cách này, mã của bạn có thể được hiển thị chính xác trong hầu hết các tình huống [chẳng hạn như trong giao diện dòng lệnh hoặc trên thiết bị di động] hoặc cạnh nhau với một tệp khác. Ngoài ra, bạn có thể quyết định bỏ qua các quy tắc nhất định. Nhìn chung, theo các hướng dẫn chung có lợi cho các dự án liên quan đến nhiều nhà phát triển.PEP8]. It is a long read, but it will help you write well-readable Python code. It covers many little things such as spacing between operators, naming conventions, comments, and docstrings. For instance, you will learn that it is considered a good practice to limit any line of your code to 79 or 99 characters. This way, your code can be correctly displayed in most situations [such as in a command-line interface or on a mobile device] or side by side with another file. Alternatively, you can decide to ignore certain rules. In general, following common guidelines is beneficial on projects involving many developers.
  12. Bạn có thể tự động kiểm tra mã của mình so với hầu hết các quy ước về kiểu trong PEP8 với gói Pycodestyle Python. Bạn cũng có thể tự động thực hiện tương thích mã PEP8 của mình với gói Autopep8.pycodestyle Python package. You can also automatically make your code PEP8-compatible with the autopep8 package.
  13. Sử dụng một công cụ để phân tích mã tĩnh như Flake8 hoặc pylint. Nó cho phép bạn tìm thấy các lỗi tiềm năng hoặc mã chất lượng thấp một cách thống trị, nghĩa là mà không cần chạy mã của bạn.flake8 or Pylint. It lets you find potential errors or low-quality code statically, that is, without running your code.
  14. Sử dụng các dòng trống để tránh làm lộn xộn mã của bạn [xem PEP8]. Bạn cũng có thể phân định các phần trong một mô -đun Python dài với các bình luận nổi bật.
  15. Một mô -đun Python không nên chứa nhiều hơn vài trăm dòng mã. Có quá nhiều dòng mã trong một mô -đun có thể là một dấu hiệu cho thấy bạn cần chia nó thành một số mô -đun.
  16. Tổ chức các dự án quan trọng [với hàng chục mô -đun] thành các gói con [thư mục con].
  17. Hãy xem cách tổ chức các dự án Python lớn. Ví dụ, mã của Ipython được tổ chức thành một hệ thống phân cấp các thanh toán con với vai trò tập trung. Đọc bản thân mã cũng khá hướng dẫn.
  18. Tìm hiểu các thực tiễn tốt nhất để tạo và phân phối gói Python mới. Hãy chắc chắn rằng bạn biết setuptools, pip, bánh xe, ảo, pypi, v.v. Ngoài ra, bạn rất được khuyến khích để có một cái nhìn nghiêm túc về Conda, một hệ thống bao bì mạnh mẽ và chung chung được tạo ra bởi Anaconda. Bao bì từ lâu đã là một chủ đề phát triển nhanh chóng trong Python, vì vậy chỉ đọc các tài liệu tham khảo gần đây nhất.conda, a powerful and generic packaging system created by Anaconda. Packaging has long been a rapidly evolving topic in Python, so read only the most recent references.

Bạn rất thích một đoạn trích từ cuốn sách mới nhất của Cyrille Rossant, Ipython Cookbook, phiên bản thứ hai. Cuốn sách này chứa hơn 100 công thức nấu ăn để phân tích dữ liệu và điện toán khoa học hiệu suất cao, từ các tính năng ipython/jupyter mới nhất đến các thủ thuật nâng cao nhất, để giúp bạn viết mã tốt hơn và nhanh hơn.IPython Cookbook, Second Edition. This book contains 100+ recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code.

Để có công thức nấu ăn miễn phí từ cuốn sách, hãy truy cập trang Cookbook GitHub Ipython. Nếu bạn yêu thích những gì bạn đã thấy, hãy hỗ trợ công việc của Cyrille bằng cách mua một bản sao của cuốn sách ngày hôm nay!Ipython Cookbook Github page. If you loved what you saw, support Cyrille’s work by buying a copy of the book today!

Làm thế nào để bạn viết một mã python chất lượng cao?

Bắt đầu viết mã của bạn với một cách tiếp cận từ dưới lên; Viết các chức năng Python độc lập thực hiện các nhiệm vụ tập trung. Đừng ngần ngại tái cấu trúc mã của bạn thường xuyên. Nếu mã của bạn trở nên quá phức tạp, hãy nghĩ về cách bạn có thể đơn giản hóa nó. Tránh các lớp học khi bạn có thể.write independent Python functions that implement focused tasks. Do not hesitate to refactor your code regularly. If your code is becoming too complicated, think about how you can simplify it. Avoid classes when you can.

Làm thế nào để bạn viết một mã chất lượng?

Viết mã bằng chất lượng cao bao gồm:..
Suy nghĩ về các giải pháp khả thi,.
Kết hợp tất cả các tính năng cần thiết,.
Kiểm tra mã,.
Suy nghĩ về tương lai của dự án,.
Ghi lại các thay đổi và các phần thiết yếu,.
Khám phá các giải pháp mới,.
Giải quyết vấn đề,.
Sử dụng các phụ thuộc hiện có ;.

Làm thế nào để bạn làm cho một mã python hiệu quả hơn?

Bắt đầu nào!..
Thuật toán và cấu trúc dữ liệu thích hợp.Mỗi cấu trúc dữ liệu có ảnh hưởng đáng kể đến thời gian chạy.....
Sử dụng các chức năng và thư viện tích hợp.Các chức năng tích hợp của Python là một trong những cách tốt nhất để tăng tốc mã của bạn.....
Sử dụng nhiều bài tập.....
Thích danh sách hiểu hơn các vòng lặp.....
Nhập khẩu thích hợp.....
Kết hợp chuỗi ..

Bài Viết Liên Quan

Chủ Đề