Tôi đã viết Python nhiều năm, và tôi cài đặt 5 công cụ này trên mỗi máy tính mới
Thật dễ để bị ám ảnh bởi các framework Python lớn và các thư viện phức tạp. Nhiều nhà phát triển bỏ qua việc liệu quá trình coding hàng ngày của họ có thể tốt hơn bao nhiêu nếu họ chỉ sử dụng những tiện ích nhỏ hơn, nhắm đúng mục tiêu, giúp trải nghiệm trở nên đơn giản hơn.
Tôi thích có những công cụ giúp mình, vì vậy có năm công cụ mà tôi luôn cài trên mọi máy. Những tiện ích này giảm bớt những căng thẳng nhỏ tích tụ trong quá trình phát triển. Chúng về cơ bản làm sạch con đường để bạn có thể đi sâu vào công việc tập trung hơn. Tôi khuyên những công cụ này cho bất kỳ ai thường xuyên sử dụng Python và muốn tăng năng suất một cách dễ dàng.
Pipx (Người Kích Hoạt)
- Lệnh:
pip install pipx
Thông thường, pip chỉ đơn giản cài các gói vào hệ thống toàn cục của bạn hoặc để bạn tự thiết lập các môi trường ảo. Pipx khắc phục điều này bằng cách cài các nhị phân Python bên trong các môi trường riêng biệt, nhưng bạn vẫn có thể truy cập công cụ đó toàn cục ngay từ dòng lệnh của mình. Hãy nghĩ về nó như một cửa hàng ứng dụng cho tất cả các ứng dụng dòng lệnh Python của bạn, giúp ngăn chặn các xung đột phụ thuộc khó chịu xảy ra giữa các công cụ khác nhau.
Việc phân tách đúng cách này là rất quan trọng để giữ cho môi trường phát triển của bạn luôn ổn định. Trong khi pip rất tuyệt vời cho việc quản lý các thư viện bên trong một dự án cụ thể, sử dụng nó cho các ứng dụng toàn hệ thống thường dẫn đến rắc rối về phụ thuộc. Nếu bạn cập nhật một thư viện cho một ứng dụng, bạn có thể vô tình làm hỏng ứng dụng khác vì xung đột phiên bản.
Pipx bao bọc xung quanh các công cụ đóng gói Python tiêu chuẩn, điều này khắc phục hầu hết các vấn đề. Khi bạn chạy pipx install package, nó sẽ tự động thiết lập một môi trường ảo riêng biệt, tách rời chỉ dành cho gói đó và các phụ thuộc cần thiết của nó. Sau đó, nó tìm các lệnh thực thi (các script console) và tạo các lối tắt (symlink) đến một thư mục trong PATH hệ thống của bạn, như ~/.local/bin.
Thefuck (Trình Sửa Tự Động)
- Lệnh:
pipx install thefuck
Công cụ này có một cái tên bạn sẽ không quên, nhưng nó thật tuyệt vời để duy trì quy trình làm việc trên terminal của bạn. Ngay khi bạn nhập sai một lệnh, nó sẽ lập tức can thiệp và sửa lỗi ngay. Nó phân tích thông báo lỗi từ lệnh gần nhất của bạn và đối chiếu nó với hàng loạt quy tắc có sẵn.
Nếu bạn gõ git brnch và nhận được lỗi, chỉ cần gõ từ chửi, và nó sẽ được chỉnh sửa thành git branch. Mặc dù cái tên khiêu khích này phản ánh sự thất vọng khi gõ sai, tiện ích này lại khá tinh vi. Tôi không thích để nó thành từ chửi nên tôi dùng 'oops,' và bạn có thể đặt nó thành bất cứ từ gì bạn muốn.
Nó sử dụng một hệ thống dựa trên quy tắc để phát hiện các lỗi theo ngữ cảnh cụ thể. Ví dụ, nếu bạn chạy một lệnh như apt-get install vim và lệnh này thất bại vì "Permission denied" (từ chối quyền truy cập), công cụ sẽ gợi ý chạy lại lệnh với sudo đứng trước, đồng thời yêu cầu xác nhận trước khi thực thi. Nó xử lý nhiều tình huống khác nhau, chẳng hạn như sửa puthon thành python, điều chỉnh các tham số sai thứ tự, hoặc gợi ý git push --set-upstream origin master khi bạn cố gắng đẩy một nhánh mới mà không có upstream remote.
Pdb++ (Trình Gỡ Lỗi Tốt Hơn)
- Lệnh:
pip install pdbpp
Nếu bạn từng nhìn vào kết quả tẻ nhạt, đơn giản của trình gỡ lỗi mặc định của Python, bạn đã biết rằng mặc dù pdb về mặt kỹ thuật hoạt động, nhưng nó chỉ xấu xí và thiếu tính năng. Nó hoàn thành công việc, nhưng thực sự thiếu những tiện ích mà chúng ta mong đợi từ các công cụ phát triển hiện đại.
Vì vậy, tôi luôn sử dụng pdb++, hoạt động như một bản thay thế hoàn toàn tương thích và có thể thay thế trực tiếp cho module thư viện chuẩn. Phần tuyệt nhất là cách nó tích hợp một cách mượt mà; ngay khi bạn chạy lệnh cài đặt, nó sẽ chiếm quyền module pdb chuẩn. Điều này có nghĩa là các lệnh import pdb; pdb.set_trace() hiện tại của bạn, hoặc hàm dựng sẵn mới hơn breakpoint(), sẽ được nâng cấp ngay lập tức mà bạn không phải thay đổi một dòng mã nào.
Tính năng lớn nhất mà bạn sẽ nhận thấy ngay lập tức là chế độ dính (sticky mode). Trong pdb thông thường, bạn liên tục phải gõ l hoặc list chỉ để nhớ mình đang ở đâu trong mã nguồn. Tuy nhiên, pdb++ khắc phục điều này bằng cách hiển thị vĩnh viễn một phần lớn ngữ cảnh mã, tự động cập nhật khi bạn bước qua quá trình thực thi. Điều này cơ bản mang lại sự trợ giúp trực quan giống như trình gỡ lỗi của IDE đồ họa ngay trong môi trường terminal nhẹ của bạn, đảm bảo rằng bạn sẽ không bao giờ mất dấu vị trí của mình trong ngăn xếp.
Pyupgrade (Người Hiện đại hóa)
- Lệnh:
pip install pyupgrade
Công cụ này tự động cập nhật mã của bạn lên cú pháp Python mới nhất. Pyupgrade quét các tệp của bạn và áp dụng các nâng cấp hiện đại trực tiếp, đảm bảo dự án của bạn có thể sử dụng các tính năng ngôn ngữ mới nhất mà không tốn hàng giờ để chỉnh sửa. Nếu bạn vẫn có mã sử dụng định dạng % cũ hoặc kiểu chú thích cũ hơn, pyupgrade sẽ thay thế chúng ngay lập tức bằng f-string và các kiểu chú thích hiện tại.
Chẳng hạn, nó dễ dàng chuyển đổi typing.List và typing.Optional thành các kiểu tập hợp chuẩn và cú pháp hợp nhất pipe rõ ràng hơn (như str | None) mà các phiên bản Python mới hơn đã giới thiệu. Điều này làm cho chữ ký hàm của bạn dễ đọc hơn rất nhiều. Nó dạy bạn cách viết Python hiện đại bằng cách tự động loại bỏ những phần còn lại của Python 2, chẳng hạn như các header coding: utf-8 không cần thiết, các tiền tố u thừa trên chuỗi, và các lớp thừa kế rõ ràng từ object.
Công cụ này không chỉ dừng lại ở những điều cơ bản. Nó đi sâu vào cách bạn sử dụng thư viện chuẩn để tối ưu hóa mọi thứ; nó đơn giản hóa các gọi super() bằng cách loại bỏ các đối số không cần thiết, thay thế các alias cũ của unittest như failUnlessEqual bằng assertEqual, và thậm chí biến defaultdict(lambda: []) thành defaultdict(list) nhanh hơn và gọn hơn.
Nó cũng đảm bảo rằng các phép so sánh của bạn an toàn hơn, khắc phục các trường hợp bạn có thể đang sử dụng is với các hằng số một cách sai lầm thay vì các toán tử bằng đúng.
Ptpython (REPL Tốt Hơn)
- Lệnh:
pipx install ptpython
Trình shell Python tiêu chuẩn khá cơ bản và không mất nhiều thời gian để học, nhưng ptpython có một vòng lặp đọc-thực thi-in (REPL) nâng cao với các tính năng như tô màu cú pháp, gợi ý tự động, hỗ trợ chuột, và thậm chí là các phím tắt emacs/vi. Nó mang lại cho bạn cảm giác như đang làm việc bên trong bảng điều khiển của một IDE hiện đại. Điều này giúp việc thử nghiệm các đoạn mã Python nhỏ trở nên nhanh hơn và thú vị hơn, ngay cả với các bộ dữ liệu lớn dễ bị sự cố.
Công cụ này hoạt động như một giao diện nâng cao được xây dựng trên thư viện prompt_toolkit, cơ bản biến terminal thành một không gian làm việc mạnh mẽ hơn rất nhiều, tương thích với Linux, BSD, OS X và Windows. Ngoài việc nâng cấp trực quan như làm nổi bật cú pháp và các bảng màu, một trong những cải tiến đáng kể nhất về chất lượng trải nghiệm người dùng là hệ thống xác thực đầu vào tinh vi của nó.
Thay vì thực thi một lệnh chứa lỗi chính tả và buộc bạn phải viết lại một khối nhiều dòng phức tạp từ đầu, ptpython phát hiện lỗi cú pháp theo thời gian thực và ngăn việc thực thi cho đến khi lỗi được khắc phục, di chuyển con trỏ trực tiếp đến lỗi. Khả năng chỉnh sửa nhiều dòng diễn ra liền mạch; nó tự động nhận biết khi bạn đang định nghĩa các hàm hoặc lớp và xử lý thụt lề cho bạn.
Những công cụ này loại bỏ tất cả những điểm ma sát khó chịu mà bạn gặp phải hàng ngày khi lập trình. Ngay cả những nâng cấp nhỏ, cụ thể cho công cụ của bạn cũng có thể mang lại lợi suất lớn về năng suất và thực sự giải phóng năng lượng tinh thần của bạn. Chúng giúp tôi tránh được những lúc phát triển phần mềm trở nên bực bội, và tôi nhận thấy rằng tôi thích lập trình hơn rất nhiều kể từ khi bắt đầu sử dụng chúng.
Mục đích chính là làm cho những công việc lặp đi lặp lại biến mất, để terminal của bạn cảm giác bớt như một rào cản lớn mà nhiều hơn như một phần mở rộng tự nhiên của cách bạn tư duy. Vì vậy, bạn nên sử dụng những lệnh này để duy trì nhịp làm việc và tạo ra công việc chất lượng tốt hơn mà không phải vất vả quá nhiều.





