- vừa được xem lúc

Xây dựng thói quen lập trình tốt cho lập trình viên Python mới vào nghề

0 0 7

Người đăng: Vũ Tuấn

Theo Viblo Asia

Khi mới bắt đầu với vai trò lập trình viên Python, bạn có thể sẽ hình thành một số thói quen cả tốt lẫn xấu. Lập trình cũng giống như một loại hình nghệ thuật, trong đó sự linh hoạt và tùy chỉnh được khuyến khích, và bạn thường có thể viết mã theo ý muốn trong ngữ cảnh của ngôn ngữ.

Vấn đề là bạn đang giao tiếp với máy tính chứ không phải ai khác. Do đó mà bạn cần viết mã của mình theo cách mà người khác có thể hiểu được. Ngoài ra, việc sử dụng cú pháp không đúng hoặc không đảm bảo bạn đang viết hiệu quả có thể dẫn đến xuất hiện lỗi trong chương trình của bạn. Mã code lộn xộn khiến bạn cực kỳ khó khăn trong việc tìm ra những lỗi đó sau này để fix. Viết thật gọn gàng, dễ đọc là cách mà bạn nên làm, điều đó có nghĩa là bạn phải hình thành thói quen viết mã tốt ngay từ đầu để giúp bạn tuân theo chúng trong suốt sự nghiệp của mình.

Dưới đây là một số mẹo để giúp xây dựng thói quen viết mã tốt khi bạn mới bắt đầu làm việc với Python.

1. Tuân theo hướng dẫn về cách viết PEP 8

Dân content nói chung và những người viết nội dung quảng cáo khác thường sử dụng thứ gọi là phong cách viết (văn phong). Văn phong của từng người sẽ đặt ra các quy tắc về định dạng và tổ chức văn bản. Nó có thể giải thích xem có nên sử dụng dấu phẩy hay khi nào nên sử dụng chữ in hoa hay là các cách tiếp cận có cấu trúc khác.

Python có một hướng dẫn về văn phong hay Style gần giống như vậy, được gọi là PEP 8, PEP8 hoặc PEP-8. Một số lập trình viên Python lành nghề đã xuất bản hướng dẫn này vào năm 2001 để chia sẻ cách viết mã hoàn toàn dễ đọc và nhất quán.

Một số nguyên tắc chính mà bạn nên nắm vững bao gồm:

  • Sử dụng các kỹ thuật thụt lề thích hợp.
  • Giữ chiều dài dòng tối đa là 79 ký tự.
  • Sử dụng ngắt dòng.
  • Sử dụng các dòng trống - đôi hoặc đơn - cho các định nghĩa hàm, lớp và phương thức.
  • Sử dụng các quy ước đặt tên thích hợp cho biến, lớp, hàm, v.v.

Nếu bạn chưa có, hãy đọc kỹ hướng dẫn viết mã theo Style Python Pep 8 và đảm bảo rằng bạn đang làm theo các kỹ thuật.

2. Sử dụng phiên bản Python mới nhất

Các ngôn ngữ lập trình như Python trải qua nhiều lần lặp lại trong vòng đời của chúng. Các phiên bản cũ thường bị loại bỏ để thay thế cho các bản phát hành mới hơn. Nói chung, bản phát hành mới nhất bao gồm các bản sửa lỗi cũng như các cải tiến về bảo mật hoặc hiệu suất.

Tối thiểu, bạn hãy sử dụng Python 3 thay cho Python 2, vì phiên bản cũ hơn đã đạt đến trạng thái kết thúc vòng đời kể từ tháng 1 năm 2020. Ngoài ra, khi làm việc với các mô-đun, framework hoặc kho lưu trữ của bên thứ ba, hãy luôn tham khảo Phiên bản Python tối thiểu yêu cầu . Đây là phiên bản Python cũ nhất tương thích với các thành phần liên quan.

3. Viết ghi chú rõ ràng

Tại thời điểm bạn đang viết mã, bạn biết mình đang cố gắng đạt được điều gì. Khi bạn đọc mã đó sau này, bạn có thể quên. Hoặc tệ hơn nữa, nếu người khác đang đọc mã đó, họ có thể thấy bối rối và khó hiểu. Đó là lý do tại sao bạn cần phải ghi chú những đoạn đó lại.

Mọi ngôn ngữ đều có cách để “ghi chú” một số phần nhất định của mã. Ý tưởng là sử dụng các ghi chú mô tả nhưng ngắn gọn để giải thích những gì đang xảy ra. Một số lập trình viên thường quên làm điều này, nhưng nếu bạn bắt đầu sớm và luôn tuân theo quy tắc, bạn sẽ có thể viết cú pháp dễ theo dõi.

Trong Python, bạn sử dụng ký hiệu “#” ở đầu ghi chú để ghi chú một dòng. Để viết ghi chú nhiều dòng, bạn có thể sử dụng dấu ngoặc kép ba (''') ở đầu hoặc cuối hoặc nhiều dấu thăng cho mỗi dòng.

VD: #This is a regular comment.

‘’’
This is a multi-line comment.
To explain what the code is doing.
‘’’

Việc ghi chú có thể là một phần quan trọng của quá trình viết mã vì nó cho phép bạn ghi nhớ và hình dung tốt hơn các ý tưởng diễn ra trong đầu khi bạn đang viết mã.

Theo các chuyên gia, việc viết tay các ghi chú của bạn và sau đó chuyển chúng sang kỹ thuật số thông qua những thứ như ghi chú sẽ cải thiện khả năng ghi nhớ của bạn lên 75%. Điều này có nghĩa là, khi bạn phát hiện ra lỗi hoặc muốn cải thiện sau này, bạn có thể dễ dàng nhớ lại các đoạn mã có liên quan hơn.

Ghi chú inline cũng có thể xuất hiện trong cùng một dòng với một điểm mã. Ví dụ:

print (“Hello World. This is my first code.”) # This is how you create an inline comment

4. Sử dụng Linter

Linter Python xem xét khoảng cách mã, độ dài dòng và các tiêu chuẩn thiết kế khác nhau như vị trí đối số. Kết quả là, mã của bạn trông gọn gàng, có tổ chức và được viết nhất quán trên nhiều tệp trong dự án của bạn.

Hãy nhớ rằng linter khác với trình định dạng tự động hoặc trình làm đẹp - mặc dù, trong mã hóa hiện đại, cùng một công cụ có thể xử lý cả hai chức năng hỗ trợ này. Bạn có thể nghĩ về linter như một thứ khắc phục các vấn đề thực tế so với trình định dạng tự động, thứ khắc phục nhiều hơn về kiểu dáng.

Linter có thể phân tích và xác định lỗi mã hóa, lỗi tiềm ẩn, lỗi chính tả hoặc lỗi cú pháp, nhưng cũng có thể là sự không nhất quán về kiểu dáng, chẳng hạn như cách bạn sử dụng thụt lề và khoảng cách. Trình định dạng tự động tập trung vào phần viết hoặc kiểu dáng của cú pháp như dấu phẩy, dấu ngoặc kép, độ dài dòng thích hợp, v.v. Cả hai đều hữu ích, nhưng bạn hiếm khi muốn viết mã mà không có linter tiện dụng.

Một số ví dụ về linter Python tốt nhất bao gồm Pylint, Flake8, Ruff, Xenon và Radon, cùng những loại khác. Linter được sử dụng trong ảnh chụp màn hình sau là Ruff, được cài đặt thông qua VSCode.

5. Dựa vào các Hàm và Thư viện tích hợp sẵn

Lợi ích của Python và các ngôn ngữ tương tự như vậy đó là bạn không bao giờ phải bắt đầu từ đầu. Bạn không phải tự mình viết mọi chức năng hoặc thành tích duy nhất - thay vào đó, bạn có thể dựa vào các hàm, thư viện, framework và kho lưu trữ tích hợp sẵn.

Các hàm tích hợp sẵn giúp bạn tiết kiệm thời gian, cung cấp cho bạn các chức năng hoạt động và thường được quản lý bởi một nhóm các nhà phát triển. Quan trọng hơn, chúng tăng cường hiệu suất của mã và phần mềm của bạn. Bạn có thể tham khảo tài liệu Python chính thức để xem các hàm ngôn ngữ tích hợp sẵn.

Một số ví dụ bao gồm:

  • append(): Lấy một mục đơn lẻ và thêm nó vào một danh sách, sửa đổi danh sách hiện có bằng cách thêm vào đó và tăng danh sách thêm một
  • eval(): Đánh giá bất kỳ biểu thức được chỉ định nào như thể đó là một câu lệnh Python chính thức
  • id(): Được sử dụng để tham chiếu danh tính duy nhất của một đối tượng hoặc số nguyên
  • max(): Trả về giá trị tối đa của một giá trị có thể lặp lại từ nhiều giá trị nhất định
  • print(): Hiển thị hoặc trả về các biến văn bản cho bảng điều khiển Python
  • round(): Làm tròn một số hoặc giá trị đến một vị trí thập phân nhất định

Sử dụng hướng dẫn dành cho người mới bắt đầu phổ biến nhất, khi bạn sử dụng hàm print(), nó sẽ trông giống như sau:

print(“Hello world I am coding.”)

Hàm tích hợp sẵn đó sẽ luôn được nhận dạng bất kể bạn đang sử dụng IDE hoặc môi trường mã hóa nào, điều này áp dụng cho tất cả các hàm tích hợp sẵn từ append() đến round().

Mặt khác, thư viện rất nhiều và đa dạng - chúng là bộ sưu tập mã hoặc hàm được viết sẵn lớn hơn nhiều. Để sử dụng hoặc tham khảo các thư viện và chức năng của chúng, bạn chỉ cần nhập chúng vào tập lệnh Python của mình. Ví dụ như Requests, FastAPI, Asyncio, aiohttp, Tkinter, v.v.

6. Khắc phục sự cố về mã càng sớm càng tốt

Khi viết mã, nếu bạn nhận thấy điều gì đó không ổn, hãy sửa ngay lập tức. Đừng trì hoãn hoặc đợi cho đến khi bạn thử nghiệm sau. Bạn có thể đặt sai lỗi - và hãy tưởng tượng nếu bạn không thể tìm thấy nó nữa. Khoảng 23% -42% thời gian của nhà phát triển bị lãng phí do mã xấu, đó là thời gian quý báu mà bạn có thể dành cho những việc khác.

Hơn hết, lỗi ngày càng phức tạp theo thời gian, vì vậy bạn càng để lâu, càng có nhiều khả năng toàn bộ phân đoạn mã của bạn sẽ bị lỗi hoặc ngừng hoạt động. Hầu hết các IDE và linter đều có thể giúp ích cho quy trình này, đặc biệt nếu bạn đang sử dụng mô-đun ghi nhật ký thay vì chỉ in kết quả.

Mô-đun ghi nhật ký của Python theo dõi các sự kiện trong thời gian chạy - khi một chương trình đang chạy. Về cơ bản, điều này cho phép bạn xác định các vấn đề hoặc lỗi trong khi kiểm tra mã của mình. Nó có thể gắn cờ cảnh báo liên quan đến lỗi, gỡ lỗi hoặc các sự kiện liên quan đến mã, nhưng nó cũng có thể giúp bạn hiểu hành vi thời gian chạy của dự án của bạn - tất cả những điều bạn có thể bỏ qua trong quá trình viết.

Ví dụ, bạn có thể xem và phân tích các tương tác của người dùng, đặc biệt nếu người dùng bên ngoài đang thử nghiệm ứng dụng của bạn. Quan trọng nhất, mô-đun ghi nhật ký là một công cụ kiểm toán vô giá khi bạn bắt đầu kiểm tra hoặc chạy mã bạn đã viết. Đừng viết mã mà không có nó.

Kết luận

Có rất nhiều điều cần xem xét khi làm việc với Python và không quan trọng bạn có kỹ năng hoặc thành thạo đến đâu. Việc tuân theo các phương pháp hay nhất của Python luôn là cách nên làm. Nhưng cuối cùng, cách tốt nhất để học luôn là thực hành.

Hãy tiếp tục sử dụng Python, thậm chí chỉ để tạo các dự án đơn giản hoặc nhỏ cho chính bạn. Thực hành sử dụng các thói quen được thảo luận ở đây và viết mã sạch. Bạn cũng nên đọc mã từ các nhà phát triển khác để xem cách họ tiếp cận quy trình.

Cảm ơn các bạn đã theo dõi.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Thao tác với File trong Python

Python cung cấp các chức năng cơ bản và phương thức cần thiết để thao tác các file. Bài viết này tôi xin giới thiệu những thao tác cơ bản nhất với file trong Python.

0 0 63

- vừa được xem lúc

Tập tành crawl dữ liệu với Scrapy Framework

Lời mở đầu. Chào mọi người, mấy hôm nay mình có tìm hiểu được 1 chút về Scrapy nên muốn viết vài dòng để xem mình đã học được những gì và làm 1 demo nho nhỏ.

0 0 166

- vừa được xem lúc

Sử dụng Misoca API (oauth2) với Python

Với bài viết này giúp chúng ta có thể nắm được. ・Tìm hiểu cách xử lý API misoca bằng Python.

0 0 49

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 3)

Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!. Ở phần trước, các bạn đã biết được cách lấy dữ liệu một row hoặc column trong Pandas DataFame rồi phải không nào. 6 Hoc.

0 0 63

- vừa được xem lúc

Lập trình socket bằng Python

Socket là gì. Một chức năng khác của socket là giúp các tầng TCP hoặc TCP Layer định danh ứng dụng mà dữ liệu sẽ được gửi tới thông qua sự ràng buộc với một cổng port (thể hiện là một con số cụ thể), từ đó tiến hành kết nối giữa client và server.

0 0 79

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 2)

Nào, chúng ta cùng đến với phần 2 của series Pandas DataFrame. Truy xuất Labels và Data. Bạn đã biết cách khởi tạo 1 DataFrame của mình, và giờ bạn có thể truy xuất thông tin từ đó. Với Pandas, bạn có thể thực hiện các thao tác sau:.

0 0 95