เครื่องมือ CLI ในการเพิ่มคำอธิบายประกอบประเภทลงในรหัส Python โดยอัตโนมัติ
สถานการณ์หลักสำหรับการใช้เครื่องมือคือช่วยคุณในการใส่คำอธิบายประกอบรหัสฐานขนาดใหญ่และเก่า มันจะไม่แก้ปัญหาให้คุณ 100% แต่จะช่วยคุณได้อย่างมากอย่างแน่นอนเพราะฟังก์ชั่นหลายอย่างในโลกแห่งความเป็นจริงมีประเภทผลตอบแทนที่ค่อนข้างง่ายซึ่งง่ายต่อการอนุมานโดยอัตโนมัติ
คุณสมบัติ:
สมมติว่าคุณมีวิธีการดังต่อไปนี้:
class Database :
def users_count ( self ):
return len ( self . users ) เนื่องจาก len มักจะส่งคืน int infer-types จะสามารถอนุมานประเภทการส่งคืนของวิธีการ ดังนั้นหลังจากเรียกใช้เครื่องมือรหัสจะมีลักษณะเช่นนี้:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/เครื่องมือจะเพิ่มคำสั่งนำเข้าใหม่ที่สามารถทำซ้ำและไม่อยู่ที่ด้านบนของไฟล์ ในการแก้ไขให้เรียกใช้ isort:
python3 -m isort ./example/ เครื่องมือ infer-types ใช้ไวยากรณ์แฟนซีใหม่สำหรับคำอธิบายประกอบประเภทที่แนะนำใน Python 3.10 ดังนั้นแทนที่จะเป็น Optional[str] มันจะปล่อย str | None . หากรหัสของคุณควรทำงานบน Python รุ่นเก่าให้เพิ่ม from __future__ import annotations ที่จุดเริ่มต้นของแต่ละไฟล์ มันจะแก้ปัญหาและทำให้การเริ่มต้นแอปของคุณเร็วขึ้น คุณสามารถทำได้ด้วย ISORT:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/ดูการพิมพ์สุดยอดเยี่ยมสำหรับเครื่องมือเพิ่มเติมเพื่อช่วยคุณในการใส่คำอธิบายประกอบรหัสของคุณ
Noneyield ประเภทการส่งคืนจะ typing.Iterator titeratoris_open จะถือว่า bool กลับมาเพราะมันเริ่มต้นด้วย is_ คุณสามารถเรียกใช้ฮิวริสติกเฉพาะโดยใช้ธง --only