สมมติว่าทีมเรามี 10 คนเขียน Project python สุมหัวกัน 10 คนก็ 10 code style จะทำยังไงให้อ่านแล้วไม่ตาลายก่อน บล็อกนี้ เราเลยมาพร้อมกับตัวช่วยดีๆ ให้อ่าน Python script นานๆ ก็ตาล้าน้อยลงนะฮะ

ต้องบอกว่า เจ้าตัวนี้ ผมได้มาจากทีมที่ผมอยู่ตอนนี้แหละ เค้าใช้ตัวนี้เป็นมาตรฐานเลย จะได้เหมือนๆ กันตลอดทุก project ฮะ


Black

Black เป็น Python package ที่เอาไว้ใช้ formatting ด้วยสโลแกนของเค้าที่ว่า "The Uncompromising Code Formatter" เราแทบจะไม่ต้องไปปรับแต่งเพิ่มเติมอะไรเลย มันทำของมันแบบนั้น อีกอย่างคือ เพราะมันไม่มีให้ปรับแหละ

ลองพักชมโฆษณาข้างล่าง พอให้เห็นภาพว่า Black มันทำงานยังไง เพราะเวลาใช้งานจริงก็แบบนี้เลยฮะ เราเขียนๆ ไป เสร็จแล้วกด save มันก็จะ format ให้เองอัตโนมัติ

และนี่ก็เป็นลิงก์ไปหน้า PyPI project ของ Black ฮะ

black
The uncompromising code formatter.

Setup ใน VSCode

คิดว่าคนที่อ่าน คงใช้ VSCode เป็นหลักอยู่แล้วเนอะฮะ การตั้งค่ามันจะง่ายนิดเดียว เหมือนนับ 1-2-3 แบบนี้

1. ติดตั้ง Black

Run คำสั่ง

pip install black

แล้วรอมันติดตั้งจนเสร็จ

อ้อ แล้วก็แนะนำให้ลง plugin Python ของ VSCode ไปพร้อมกันด้วยเลยฮะ

Python - Visual Studio Marketplace
Extension for Visual Studio Code - IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more.

2. กำหนด Python formatting provider

ให้เปิด palette โดยกดปุ่ม cmd + shift + p

แล้วหา "Python > Formatting: Provider" จากนั้นเลือก "black"

3. เปิดใช้ Format on Save

ยังอยู่ที่ Setting นะฮะ หา "Editor: Format on Save" แล้วติ๊กเลือก

แค่นี้ เราก็ได้มาอีก 1 เครื่องทุ่นแรง แต่ใช้งานดียาวๆ แล้วล่ะฮะ


ขอให้ code อย่างมีความสุขนะฮะ