โครงการนี้ไม่ได้รับการดูแลอย่างแข็งขันอีกต่อไป
สารบัญ
Tidypy เป็นเครื่องมือที่ห่อหุ้มเครื่องมือการวิเคราะห์แบบคงที่อื่น ๆ และทำให้ง่ายต่อการกำหนดค่าดำเนินการและตรวจสอบผลลัพธ์ของพวกเขา
*.py ของคุณ นอกเหนือจากการดำเนินการเครื่องมือต่าง ๆ จำนวนหนึ่งในรหัสของคุณแล้วยังสามารถตรวจสอบไฟล์ Yaml, JSON, PO, POT และ RST ของคุณได้pyproject.toml ที่กำหนดโดย PEP 518 ตัวเลือกทั้งหมดสำหรับเครื่องมือทั้งหมดที่ใช้ tidypy ถูกประกาศในที่เดียวแทนที่จะกำหนดให้คุณกำหนดค่าเครื่องมือแต่ละตัวในวิธีที่แตกต่างกัน# noqa ที่เป็นมาตรฐานหลอกในแหล่ง Python ของคุณเพื่อเพิกเฉยต่อปัญหาที่รายงานโดยเครื่องมือใด ๆ เมื่อติดตั้ง tidypy ( pip install tidypy ) คำสั่ง tidypy ควรมีอยู่ในสภาพแวดล้อมของคุณ:
$ tidypy -help
การใช้งาน: คำสั่ง tidypy [ตัวเลือก] [args] ...
เครื่องมือที่ดำเนินการเครื่องมือวิเคราะห์แบบคงที่หลายอย่างในโครงการ Python
และรวมผลลัพธ์
ตัวเลือก:
-Version แสดงเวอร์ชันและทางออก
-Help แสดงข้อความนี้และออก
คำสั่ง:
ตรวจสอบการดำเนินการเครื่องมือเมื่อไฟล์โครงการ
default-config เอาต์พุตการกำหนดค่าเริ่มต้นที่สามารถใช้
bootstrap ไฟล์การกำหนดค่าของคุณเอง
ส่วนขยายส่งออกรายการของส่วนขยาย tidypy ทั้งหมดที่มีอยู่
Install-VCS ติดตั้ง tidypy เป็นตะขอล่วงหน้าในที่ระบุ
VCS
รายการรหัสส่งออกรายการของรหัสปัญหาที่รู้จักทั้งหมดที่เครื่องมือ
อาจรายงาน
Purge-config-cache ลบแคชของการกำหนดค่าที่ดึงมาจาก
นอกการกำหนดค่าหลัก
Remove-VCS จะลบตะขอล่วงหน้า tidypy ก่อนออกจากที่ระบุ
VCS
หากต้องการวิเคราะห์โครงการของคุณให้ใช้คำสั่งย่อย check :
$ tidypy check -help
การใช้งาน: การตรวจสอบ tidypy [ตัวเลือก] [เส้นทาง]
ดำเนินการเครื่องมือเมื่อไฟล์โครงการ
ยอมรับข้อโต้แย้งหนึ่งข้อซึ่งเป็นเส้นทางไปยังฐานของโครงการ Python
หากไม่ได้ระบุค่าเริ่มต้นไปยังไดเรกทอรีการทำงานปัจจุบัน
ตัวเลือก:
-x, -exclude regex ระบุนิพจน์ทั่วไปที่ตรงกัน
เทียบกับเส้นทางที่คุณต้องการแยกออกจาก
การสอบ สามารถระบุได้หลาย
ครั้ง. แทนที่นิพจน์ที่ระบุไว้
ในไฟล์การกำหนดค่า
-t, -Tool [Bandit | Dlint | กำจัด | Jsonlint | Manifest | McCabe | Polint | Pycodestyle | Pydiatra | Pydocstyle | Pyflakes | Pylint | Pyroma | Rstlint | ความลับ | อีแร้ง | Yamllint]
ระบุชื่อของเครื่องมือที่ใช้ในระหว่าง
การสอบ สามารถระบุได้หลาย
ครั้ง. แทนที่ไฟล์การกำหนดค่า
-r,-รายงาน [คอนโซล, CSV, Custom, Json, Null, Pycodestyle, Pylint, Pylint-parsable, Toml, Yaml] [: ชื่อไฟล์]
ระบุชื่อของรายงานเพื่อดำเนินการ
หลังจากการสอบ สามารถระบุไฟล์
ชื่อไฟล์เอาต์พุตที่เป็นตัวเลือกโดยใช้แบบฟอร์ม -r
รายงาน: ชื่อไฟล์ หากชื่อไฟล์ไม่ได้ตั้งค่าไฟล์
รายงานจะเขียนบน stdout สามารถ
ระบุหลายครั้ง แทนที่
ไฟล์กำหนดค่า
-c, -ชื่อไฟล์ config ระบุเส้นทางไปยัง tidypy
ไฟล์กำหนดค่าที่จะใช้แทนไฟล์
การกำหนดค่าที่พบในโครงการ
pyproject.toml
-คนงาน num_workers จำนวนคนงานที่ใช้ในการเกิดขึ้นพร้อมกัน
ดำเนินการเครื่องมือ แทนที่
ไฟล์กำหนดค่า
-การพนัน-เมอร์จปิดการใช้งานการรวมปัญหาจากต่างๆ
เครื่องมือเมื่อ Tidypy พิจารณาว่าเทียบเท่า
แทนที่ไฟล์การกำหนดค่า
-ความคืบหน้าแบบ disable ปิดใช้งานการแสดงผลของแถบความคืบหน้า
-disable-noqa ปิดการใช้งานความสามารถในการเพิกเฉยต่อปัญหาโดยใช้
ความคิดเห็น "# noqa" ในไฟล์ Python
-การควบคุม-config-cache ปิดการใช้งานการใช้แคชเมื่อดึงข้อมูล
การกำหนดค่าที่อ้างอิงโดย "ขยาย"
ตัวเลือก.
-Help แสดงข้อความนี้และออก
หากคุณต้องการสร้างไฟล์การกำหนดค่าโครงกระดูกด้วยตัวเลือกเริ่มต้นให้ใช้คำสั่ง default-config :
$ tidypy default-config-help
การใช้งาน: tidypy default-config [ตัวเลือก]
เอาต์พุตการกำหนดค่าเริ่มต้นที่สามารถใช้ในการบูตของคุณเอง
ไฟล์กำหนดค่า
ตัวเลือก:
-เอาต์พุต pyproject การกำหนดค่าเพื่อให้สามารถใช้ใน pyproject.toml
ไฟล์.
-Help แสดงข้อความนี้และออก
หากคุณต้องการดูรายการรหัสปัญหาที่เป็นไปได้ที่สามารถส่งคืนได้ให้ใช้คำสั่งย่อย list-codes :
$ tidypy list-codes-help
การใช้งาน: รหัสรายการ tidypy [ตัวเลือก]
แสดงรายการรหัสปัญหาที่รู้จักทั้งหมดที่เครื่องมืออาจรายงาน
ตัวเลือก:
-t, -Tool [Bandit | Dlint | กำจัด | Jsonlint | Manifest | McCabe | Polint | Pycodestyle | Pydiatra | Pydocstyle | Pyflakes | Pylint | Pyroma | Rstlint | ความลับ | อีแร้ง | Yamllint]
ระบุชื่อของเครื่องมือที่มีรหัส
ควรเป็นเอาต์พุต หากไม่ได้ระบุค่าเริ่มต้น
สำหรับเครื่องมือทั้งหมด
-f, -format [toml | json | yaml | csv]
ระบุรูปแบบที่เครื่องมือ
ควรเป็นเอาต์พุต หากไม่ได้ระบุค่าเริ่มต้น
ถึง Toml
-Help แสดงข้อความนี้และออก
หากคุณต้องการติดตั้งหรือลบ tidypy เป็นเบ็ดล่วงหน้าใน VC ของโครงการของคุณให้ใช้คำสั่งย่อย install-vcs / remove-vcs :
$ tidypy Install-VCS-HELP
การใช้งาน: Tidypy Install-VCS [ตัวเลือก] VCS [PATH]
ติดตั้ง tidypy เป็นตะขอล่วงหน้าลงใน VC ที่ระบุ
ยอมรับข้อโต้แย้งสองข้อ:
VCS: ระบบควบคุมเวอร์ชันเพื่อติดตั้งตะขอเข้า เลือกจาก:
Git, Hg
เส้นทาง: เส้นทางไปยังฐานของที่เก็บเพื่อติดตั้งตะขอลงใน
หากไม่ได้ระบุค่าเริ่มต้นไปยังไดเรกทอรีการทำงานปัจจุบัน
ตัวเลือก:
-ตีความว่าเบ็ดควรป้องกันการกระทำหรือไม่หาก tidypy พบ
ปัญหา.
-Help แสดงข้อความนี้และออก
$ tidypy remove-vcs-help
การใช้งาน: tidypy remove-vcs [ตัวเลือก] VCS [PATH]
ลบตะขอล่วงหน้า tidypy ก่อนออกจาก VC ที่ระบุ
ยอมรับข้อโต้แย้งสองข้อ:
VCS: ระบบควบคุมเวอร์ชันเพื่อลบตะขอออกจาก เลือกจาก:
Git, Hg
เส้นทาง: เส้นทางไปยังฐานของที่เก็บเพื่อลบตะขอออกจาก ถ้า
ไม่ได้ระบุค่าเริ่มต้นไปยังไดเรกทอรีการทำงานปัจจุบัน
ตัวเลือก:
-Help แสดงข้อความนี้และออก
หากคุณต้องการเปิดใช้งาน Bash Complete for Tidypy ให้เรียกใช้สิ่งต่อไปนี้ในเชลล์ของคุณ (หรือใส่ไว้ในสคริปต์ Bash Startup ของคุณ):
$ eval "$ (_ tidypy_complete = Source Tidypy)"
หากคุณไม่ต้องการติดตั้ง tidypy ในเครื่องในระบบของคุณหรือใน VirtualEnv ของคุณคุณสามารถใช้ภาพ Docker ที่เผยแพร่:
$ docker run - -rm --tty -volume = `pwd`:/โครงการ tidypy/tidypy
คำสั่งด้านบนจะเรียกใช้ tidypy check ในเนื้อหาของไดเรกทอรีปัจจุบัน หากคุณต้องการเรียกใช้ในไดเรกทอรีที่แตกต่างกันให้เปลี่ยน `pwd` เป็นเส้นทางที่คุณต้องการ (เป้าหมายคือการติดตั้งไดเรกทอรีโครงการของคุณเป็นปริมาณคอนเทนเนอร์ /project )
การใช้งาน tidypy ในลักษณะนี้มีข้อ จำกัด ไม่กี่อย่างส่วนใหญ่รอบ ๆ ความจริงที่ว่าเนื่องจาก tidypy ทำงานในสภาพแวดล้อม Python ที่แยกได้ของตัวเองเครื่องมือเช่น Pylint จะไม่สามารถตรวจสอบแพคเกจของโครงการของคุณที่ติดตั้งไว้ในเครื่อง
หากคุณต้องการเรียกใช้คำสั่งนอกเหนือจาก check เพียงแค่ผ่านไปเมื่อคุณเรียกใช้ Docker:
$ docker run--rm--tty-volume = `pwd`:/โครงการ tidypy/tidypy tidypy list-codes
สิ่งที่ต้องทำ
นอกเหนือจากการละเว้นไฟล์เครื่องมือหรือประเภทปัญหาเฉพาะทั้งหมดจากเครื่องมือผ่านไฟล์การกำหนดค่าของคุณคุณยังสามารถใช้ความคิดเห็นในไฟล์ต้นฉบับ Python ของคุณเพื่อละเว้นปัญหาในบรรทัดที่เฉพาะเจาะจง เครื่องมือบางอย่างมีการสนับสนุนและสัญกรณ์ในตัวของตัวเองสำหรับการทำเช่นนี้:
# pylint# nosec# noqa# noqa# pragma: whitelist secret Tidypy เหนือกว่าธงเฉพาะเครื่องมือเหล่านี้เพื่อใช้ # noqa ในระดับทั่วโลกสำหรับไฟล์ต้นฉบับ Python มันจะไม่สนใจปัญหาสำหรับบรรทัดที่มีความคิดเห็น # noqa ไม่ว่าเครื่องมือใดที่ทำให้เกิดปัญหา หากคุณต้องการที่จะเพิกเฉยต่อปัญหาเฉพาะในบรรทัดคุณสามารถใช้ไวยากรณ์เช่นต่อไปนี้:
# noqa: code1, code2
หรือหากมีการใช้รหัสเฉพาะในเครื่องมือหลายอย่างคุณสามารถระบุเครื่องมือที่แน่นอนในความคิดเห็น:
# noqa: pycodestyle: code1, pylint: code2
หรือหากคุณต้องการเพิกเฉยต่อปัญหาใด ๆ ที่เครื่องมือเฉพาะยกขึ้นในบรรทัดคุณสามารถระบุเครื่องมือ:
# noqa: @pycodestyle, @pylint
แน่นอนว่าคุณสามารถผสมผสานและจับคู่ทั้งสามสัญลักษณ์ในความคิดเห็นเดียวหากคุณต้องการ:
# noqa: code1, pylint: code2,@pycodestyle
คุณสามารถปิดการใช้งานพฤติกรรม NOQA ของ Tidypy ได้โดยการระบุตัวเลือก --disable-noqa บนบรรทัดคำสั่งหรือโดยการตั้งค่าตัวเลือก noqa เป็น false ในไฟล์การกำหนดค่าของคุณ แม้ว่าคำเตือน: ปัจจุบัน pycodestyle และ pydocstyle ไม่เคารพตัวเลือกนี้และจะให้เกียรติความคิดเห็น # noqa ใด ๆ ที่พวกเขาพบ
Tidypy อยู่นอกกรอบรวมถึงการสนับสนุนเครื่องมือจำนวนมาก:
Tidypy รวมถึงวิธีการต่าง ๆ จำนวนมากในการนำเสนอและ/หรือส่งออกผลลัพธ์ของการวิเคราะห์โครงการ ออกจากกล่องมันให้สิ่งต่อไปนี้:
filename , line , character , tool , code , ข้อความ, messageTidypy มีปลั๊กอิน/การรวมเข้าด้วยกันจำนวนหนึ่งที่เชื่อมต่อกับเครื่องมืออื่น ๆ
--tidypy บนบรรทัดคำสั่งเมื่อคุณเรียกใช้ pytest หรือรวมไว้เป็นส่วนหนึ่งของคุณสมบัติ addopts ในการกำหนดค่า pytest ของคุณ--with-tidypy บนบรรทัดคำสั่งเมื่อคุณเรียกใช้จมูกหรือตั้งค่าคุณสมบัติ with-tidypy เป็น 1 ใน setup.cfg ของคุณtidypy ในการเปิดใช้งานคุณสามารถระบุ --extend=tidypy.plugin.pbbt บนบรรทัดคำสั่งเมื่อคุณเรียกใช้ PBBT หรือตั้งค่าคุณสมบัติ extend ใน setup.cfg หรือ pbbt.yaml เป็น tidypy.plugin.pbbt อินเทอร์เฟซที่เรียบง่ายมีอยู่สำหรับการขยาย Tidypy เพื่อรวมเครื่องมือและนักข่าวที่แตกต่างกันมากขึ้น ในการเพิ่มเครื่องมือให้สร้างคลาสที่ขยาย tidypy.tool และใน setup.py ของคุณประกาศ entry_point สำหรับ tidypy.tools ที่ชี้ไปที่ชั้นเรียนของคุณ:
entry_points = {
'tidypy.tools': [
'myCoolTool = path.to.model: MyCoolToolClassName',
-
-
ในการเพิ่มนักข่าวกระบวนการเกือบจะเหมือนกันยกเว้นว่าคุณจะขยาย tidypy.Report และประกาศ entry_point สำหรับ tidypy.reports
ใช่แล้วมันเกิดขึ้น ปรัชญาที่ฉันเลือกที่จะติดตามด้วยเครื่องมือนี้คือฉันไม่ต้องการให้มันซ่อนอะไรจากฉัน ฉันต้องการพฤติกรรมเริ่มต้นในการเรียกใช้เครื่องมือทุกอย่างในห้องสวีทโดยใช้การตั้งค่าที่น่ารังเกียจที่สุด จากนั้นเมื่อฉันสามารถเห็นขอบเขตความเสียหายเต็มรูปแบบฉันสามารถตัดสินใจปิดใช้งานเครื่องมือหรือปัญหาเฉพาะผ่านการกำหนดค่าระดับโครงการ ฉันคิดว่าถ้ามีคนใช้เวลาในการดำเนินการตรวจสอบสำหรับปัญหาเฉพาะพวกเขาต้องคิดว่ามันมีค่าบางอย่าง หากเครื่องมือของฉันซ่อนสิ่งนั้นจากฉันโดยค่าเริ่มต้นฉันจะไม่สามารถได้รับประโยชน์ใด ๆ จากมัน
โดยทั่วไปฉันไม่แนะนำให้เริ่มใช้ผ้าลินินหรือเครื่องวิเคราะห์แบบคงที่ประเภทอื่น ๆ เมื่อคุณคิดว่าคุณ "เสร็จ" คุณควรรวมไว้ในเวิร์กโฟลว์ของคุณในตอนต้นของโครงการ - เช่นเดียวกับที่คุณต้องการ (หรือควร) การทดสอบหน่วยของคุณ ด้วยวิธีนี้คุณจะพบสิ่งต่าง ๆ เร็วและเรียนรู้จากพวกเขา (หรือปิดการใช้งาน) มันเป็นงานที่น่ากลัวน้อยกว่าที่จะจัดการเมื่อคุณพูดถึงพวกเขาเพิ่มขึ้น
ยินดีต้อนรับการมีส่วนร่วมมากที่สุด โดยเฉพาะอย่างยิ่งถ้าพวกเขาแก้ไขข้อผิดพลาด! ในการแฮ็ครหัสนี้เพียงแค่โคลนแล้วเรียก make setup สิ่งนี้จะสร้าง VirtualEnV ด้วยเครื่องมือทั้งหมดที่คุณต้องการ Makefile ยังมีเป้าหมาย test สำหรับการเรียกใช้ Pytest Suite และเป้าหมาย lint สำหรับใช้งาน tidypy บนตัวเอง
Tidypy ได้รับการปล่อยตัวภายใต้เงื่อนไขของใบอนุญาต MIT