ช่วยค้นหาตัวเลือกที่ดีสำหรับการปรับโครงสร้างใหม่
churn-php
เป็นแพ็คเกจที่ช่วยคุณระบุไฟล์ php ในโปรเจ็กต์ของคุณที่อาจเป็นตัวเลือกที่ดีสำหรับการปรับโครงสร้างใหม่ จะตรวจสอบไฟล์ PHP แต่ละไฟล์ในเส้นทางที่ให้ไว้และ:
ผลลัพธ์จะแสดงในตาราง:
ไฟล์ที่เปลี่ยนแปลงมากและมีความซับซ้อนสูงอาจเป็นตัวเลือกที่ดีกว่าสำหรับการปรับโครงสร้างใหม่มากกว่าไฟล์ที่มีการเปลี่ยนแปลงไม่มากและมีความซับซ้อนต่ำ
churn-php
ช่วยเหลือนักพัฒนาในการระบุไฟล์สำหรับการปรับโครงสร้างใหม่เท่านั้น วิธีที่ดีที่สุดคือใช้ผลลัพธ์นอกเหนือจากวิจารณญาณของคุณเองเพื่อตัดสินใจว่าไฟล์ใดที่คุณอาจต้องการปรับโครงสร้างใหม่
ดาวน์โหลด churn.phar
รุ่นล่าสุดหรือติดตั้งด้วย Phive:
phive install churn
คุณยังสามารถติดตั้ง churn-php
ผ่าน Composer ได้:
composer require bmitch/churn-php --dev
churn run < one or more paths to source code > ...
churn run src
churn run src tests
# the command name can be skipped if directoriesToScan is set in churn.yml
churn
คุณสามารถเพิ่มไฟล์เสริม churn.yml
ซึ่งสามารถใช้เพื่อกำหนดค่า churn-php ตำแหน่งของไฟล์นี้สามารถปรับแต่งได้โดยใช้ตัวเลือก --configuration
:
# Default: "churn.yml" or "churn.yml.dist"
churn run --configuration=config-dir/ < path >
churn run --configuration=my-config.yml < path >
ไฟล์ตัวอย่าง churn.yml
มีลักษณะดังนี้:
# The maximum number of files to display in the results table.
# Default: 10
filesToShow : 10
# The minimum score a file need to display in the results table.
# Disabled if null.
# Default: 0.1
minScoreToShow : 0
# The command returns an 1 exit code if the highest score is greater than the threshold.
# Disabled if null.
# Default: null
maxScoreThreshold : 0.9
# The number of parallel jobs to use when processing files.
# Default: 10
parallelJobs : 10
# How far back in the VCS history to count the number of commits to a file
# Can be a human readable date like 'One week ago' or a date like '2017-07-12'
# Default: '10 Years ago'
commitsSince : One year ago
# Files to ignore when processing. The full path to the file relative to the root of your project is required.
# Also supports regular expressions.
# Default: All PHP files in the path provided to churn-php are processed.
filesToIgnore :
- src/Commands/ChurnCommand.php
- src/Results/ResultsParser.php
- src/Foo/Ba*
# File extensions to use when processing.
# Default: php
fileExtensions :
- php
- inc
# This list is used only if there is no argument when running churn.
# Default: <empty>
directoriesToScan :
- src
- tests/
# List of user-defined hooks.
# They can be referenced by their full qualified class name if churn has access to the autoloader.
# Otherwise the file path can be used as well.
# See below the section about hooks for more details.
# Default: <empty>
hooks :
- NamespaceMyHook
- path/to/my-hook.php
# The version control system used for your project.
# Accepted values: fossil, git, mercurial, subversion, none
# Default: git
vcs : git
# The path of the cache file. It doesn't need to exist before running churn.
# Disabled if null.
# Default: null
cachePath : .churn.cache
หากละเว้นไฟล์ churn.yml
หรือละเว้นการตั้งค่าแต่ละรายการ ระบบจะใช้ค่าเริ่มต้นด้านบน
คุณสามารถกำหนดค่า churn
เพื่อส่งออกผลลัพธ์ในรูปแบบที่แตกต่างกันได้ รูปแบบที่ใช้ได้คือ:
csv
json
markdown
text
(ค่าเริ่มต้น) หากต้องการใช้รูปแบบอื่นให้ใช้ตัวเลือก --format
คำสั่งตัวอย่างสำหรับ json
:
churn run --format json
การกำหนดค่า hooks ช่วยให้คุณปรับแต่ง churn
ได้
hook ที่ผู้ใช้กำหนดต้องใช้อินเทอร์เฟซ Hook อย่างน้อยหนึ่งรายการ:
อินเตอร์เฟซตะขอ | อินเทอร์เฟซเหตุการณ์ที่สอดคล้องกัน |
---|---|
หลังการวิเคราะห์Hook | หลังการวิเคราะห์ |
AfterFileAnalysisHook | หลังจากการวิเคราะห์ไฟล์ |
ก่อนการวิเคราะห์Hook | ก่อนการวิเคราะห์ |
คำถามความคิดเห็นข้อเสนอแนะ? @bmitch2112
composer test
ใน PHP 7.1 และให้แน่ใจว่าผ่านไปใบอนุญาตเอ็มไอที (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม