เครื่องมือสำหรับการสำรวจแพ็คเกจ DART
ข้อจำกัดความรับผิดชอบ: นี่ไม่ใช่ผลิตภัณฑ์ของ Google ที่ได้รับการสนับสนุนอย่างเป็นทางการ
เครื่องมือเหล่านี้ทำงานได้ดีที่สุดจากแหล่งที่มา เพื่อให้ได้แหล่ง surveyor มา
$ git clone https://github.com/pq/surveyor.git
จากนั้นคุณสามารถเรียกใช้ examples
dart run example/api_surveyor.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดและระบุการใช้ APIs เฉพาะสองสามตัว
async dart run example/async_surveyor.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดและระบุสถานที่ที่ใช้ "async" เป็นตัวระบุอย่างง่าย สถานที่เหล่านี้จะสร้างข้อผิดพลาดหาก async เป็นคำหลักที่สงวนไว้
โปรดทราบว่าสิ่งนี้สร้างผลลัพธ์จำนวนมาก เพื่อให้แน่ใจว่าไม่มีสิ่งใดหายไปลองเปลี่ยนเส้นทางไปยังไฟล์ ตัวอย่างเช่น:
dart run example/async_surveyor.dart <path> 2>&1 | tee survey_out.txt
dart run example/error_surveyor.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดการกรองข้อผิดพลาด
dart run example/lint_surveyor.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดและระบุการละเมิดกฎผ้าสำลี (กฎที่กำหนดเองหรือโครงการที่กำหนดโดย package:linter )
dart run example/doc_surveyor/lib/main.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดค่าสถานะสมาชิกสาธารณะที่หายไปจากเอกสาร API
การรันตัวอย่างผลิตผลลัพธ์เช่นนี้:
122 public members
Members without docs:
Void • <path-to-provider-repo>/packages/provider/lib/src/proxy_provider.dart • 107:1
NumericProxyProvider • <path-to-provider-repo>/packages/provider/lib/src/proxy_provider.dart • 177:1
Score: 0.98
dart run example/widget_surveyor/lib/widget_surveyor.dart <path_to_project>
จะวิเคราะห์โครงการที่เส้นทางที่กำหนดและนำเสนอรายการของ Widget ที่พบผู้ปกครองเด็ก 2 กรัม
การรันตัวอย่างผลิตไฟล์ CSV ที่มีเนื้อหาเช่นนี้:
AppBar -> Text, 1
Center -> Column, 1
Column -> Text, 3
FloatingActionButton -> Icon, 1
MaterialApp -> MyHomePage, 1
Scaffold -> AppBar, 1
Scaffold -> Center, 1
Scaffold -> FloatingActionButton, 1
null -> MaterialApp, 1
null -> MyApp, 1
null -> Scaffold, 1
(โปรดทราบว่าโดยการพึ่งพาแพ็คเกจเริ่มต้นจะถูกติดตั้งเฉพาะเมื่อไฟล์ .packages ขาดหายไปจากโครงการภายใต้การวิเคราะห์หากคุณต้องการให้แน่ใจว่าการพึ่งพาแพ็คเกจติดตั้ง (อีกครั้ง) ให้ทำงานกับตัวเลือก --force-install )
ดูเพิ่มเติมที่ package:pub_crawl ซึ่งสามารถใช้ในการดึงแหล่งแพคเกจสำหรับการวิเคราะห์จากผับ
นี่เป็นงานที่กำลังดำเนินอยู่เป็นอย่างมาก โปรดยื่นคำขอคุณสมบัติข้อบกพร่องและข้อเสนอแนะใด ๆ ในตัวติดตามปัญหา
ขอบคุณ!