摘要:默認(rèn)的配置不會(huì)檢測任何代碼。參數(shù)列表質(zhì)量檢測包其他有人問,你為什么要這么折磨自己呢其實(shí)像類型代碼質(zhì)量工具,不是僅僅自己拿來玩的,在開發(fā)人員略多的技術(shù)團(tuán)隊(duì),可以通過使用它來達(dá)到代碼規(guī)范一致,如果每個(gè)人代碼都不一樣,后果不堪設(shè)想。
前言
我一生的文章都會(huì)放在這里,我的博客,我希望每一行代碼,每一段文字都能幫助你。https://github.com/CrazyCodes...
嗨,我是CrazyCodes,小時(shí)候做錯(cuò)事,長輩有沒有訓(xùn)斥過你呢?今天讓我們看看PHP的監(jiān)護(hù)者,憤怒的老頭- - grumphp
GrumPHPGrumPHP 是通過掛在git hook上的一款PHP代碼檢測工具,他可以通過編碼人員提交git時(shí)進(jìn)行檢查,檢查通過則提交成功,檢查失敗則終止提交。
安裝通過composer直接安裝即可,不推薦其他安裝方式
composer require --dev phpro/grumphp
這類工具一定要放在dev內(nèi),在生產(chǎn)環(huán)境使用毫無意義,所以帶參 --dev。
配置安裝結(jié)束后會(huì)自動(dòng)在項(xiàng)目根目錄建立grumphp.yml,官方給出的demo如下
# grumphp.yml parameters: bin_dir: "./vendor/bin" git_dir: "." hooks_dir: ~ hooks_preset: local git_hook_variables: VAGRANT_HOST_DIR: . VAGRANT_PROJECT_DIR: /var/www EXEC_GRUMPHP_COMMAND: exec stop_on_failure: false ignore_unstaged_changes: false hide_circumvention_tip: false process_async_limit: 10 process_async_wait: 1000 process_timeout: 60 ascii: failed: grumphp-grumpy.txt succeeded: grumphp-happy.txt tasks: ant: ~ atoum: ~ behat: ~ brunch: ~ clover_coverage: ~ codeception: ~ composer: ~ composer_normalize: ~ composer_require_checker: ~ composer_script: ~ deptrac: ~ doctrine_orm: ~ file_size: ~ gherkin: ~ git_blacklist: ~ git_branch_name: ~ git_commit_message: ~ grunt: ~ gulp: ~ infection: ~ jsonlint: ~ kahlan: ~ make: ~ npm_script: ~ paratest: ~ phan: ~ phing: ~ php7cc: ~ phpcpd: ~ phpcs: ~ phpcsfixer: ~ phpcsfixer2: ~ phplint: ~ phpmd: ~ phpmnd: ~ phpparser: ~ phpspec: ~ phpstan: ~ phpunit: ~ phpunitbridge: ~ phpversion: ~ progpilot: ~ psalm: ~ robo: ~ securitychecker: ~ shell: ~ twigcs: ~ xmllint: ~ yamllint: ~ testsuites: [] extensions: []參數(shù)說明
參數(shù)名 | 默認(rèn)值 | 注釋 |
---|---|---|
bin_dir | ./vendor/bin | 方便找到phpcs這類檢測工具的外部命令,一般不需要修改 |
git_dir | . | 默認(rèn)git目錄,正常都在根目錄的吧 |
hooks_dir | null | 設(shè)置鉤子文件夾,默認(rèn)會(huì)直接找 resources/hooks |
tasks | 用于加載代碼檢測的庫 |
是不是太多了,忽略上面,咱一步一步看。下面是安裝完成后自動(dòng)生成的配置文件
parameters: git_dir: . bin_dir: vendor/bin tasks: { }準(zhǔn)備
現(xiàn)在目錄是醬紫的
首先在github建立一個(gè)庫,用于測試。https://github.com/CrazyCodes...
默認(rèn)的配置不會(huì)檢測任何代碼。我們?yōu)?tasks 加入一個(gè)新成員 https://github.com/phpro/grum...
重新設(shè)置配置文件
騷操作parameters: git_dir: . bin_dir: vendor/bin tasks: { phpcs : ~ }
新建一個(gè)文件easy.php,代碼如下,多一個(gè)分號(hào),老頭是一定不會(huì)放過你的。
echo "召喚憤怒的老頭";;
老頭是醬紫說的,額,其實(shí)他是一個(gè)紅色的
GrumPHP detected a pre-commit command. GrumPHP is sniffing your code! Running task 1/1: Phpcs... ? ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ?▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄ ?▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ?▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ▄███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ?█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ?█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ??▓▓▓▓▓▓▓▓▓▓▓▓█??????????????████████████▄ ▄███████ ██████████ ███████? ?????▄ ▄????? █████ ? ?████ ?██ ?██ ████▌ ████▌ ███ ▌██▌ ▄▄ ▄▄ ?███ ███ ▄▄▄▄▄▄▄▄▄▄▄▄ ?███ ██▄ ?███████████████████████████ █?███████████? ??███████████ ██████████▄███████▄███████████ ?█████████████████████████████ █████████████████████████████ ██ █████████████████████?██? ? ?███████████████████▌ ?? ████?████████??███ ?█▌ ?█████ ██▌ ██? ?? ██████████████████████████████████ █???????█????????█???????█???????█ █???█▌??█???██???█??██???█???██??█ █???█▌??█???██???█??██???█???██??█ █???█▌??█???██???█??????▄█??▄▄▄▄▄█ █???█▌??█???██???█????████???????█ █???█???█▄??????▄█????████▄?????▄█ ██████████████████████████████████ FILE: /Users/crazy/http/app/yield_test/easy.php ---------------------------------------------------------------------- FOUND 1 ERROR AFFECTING 1 LINE ---------------------------------------------------------------------- 2 | ERROR | Missing file doc comment ---------------------------------------------------------------------- Time: 37ms; Memory: 4MB
不僅僅有憤怒的老頭,GrumPHP還提示了一些其他內(nèi)容。
FILE 檢測文件路徑
FOUND 1 ERROR AFFECTING 1 LINE 有幾個(gè)錯(cuò)誤,在哪一行
2 | ERROR | Missing file doc comment 錯(cuò)誤的問題是什么
這次檢測是說我沒寫注釋。是不是很有意思?GrumPHP不僅僅就這點(diǎn)能力哦,想深入請(qǐng)自行挖掘。
參數(shù)列表 https://github.com/phpro/grum...
質(zhì)量檢測包 https://github.com/phpro/grum...
其他有人問,你為什么要這么折磨自己呢?其實(shí)像類型GrumPHP代碼質(zhì)量工具,不是僅僅自己拿來玩的,在開發(fā)人員略多的技術(shù)團(tuán)隊(duì),可以通過使用它來達(dá)到代碼規(guī)范一致,如果每個(gè)人代碼都不一樣,后果不堪設(shè)想。
致謝感謝你看到這里,希望本篇文章可以幫到你。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/31615.html
摘要:以前其實(shí)寫過一篇和的對(duì)比但是后來發(fā)現(xiàn)里面有不少謬誤所以一直惦記著糾正一下之前的錯(cuò)誤尤其關(guān)于中間件部分的對(duì)比這里的就拿更加簡單的代替的執(zhí)行流程通常我們都說的中間件模型是線性的也就是一個(gè)一個(gè)往下執(zhí)行的如下圖這么說當(dāng)然是沒錯(cuò)的但是當(dāng)我們執(zhí)行下面代 以前其實(shí)寫過一篇express和koa的對(duì)比, 但是后來發(fā)現(xiàn)里面有不少謬誤. 所以一直惦記著糾正一下之前的錯(cuò)誤, 尤其關(guān)于中間件部分的對(duì)比. 這里...
摘要:前言記錄自己從基礎(chǔ)學(xué)習(xí)實(shí)戰(zhàn),初入發(fā)表文章,望各位大佬口下留情不對(duì)之處還請(qǐng)大佬指點(diǎn)一下。在加載完后,你自己默認(rèn)的瀏覽器自動(dòng)打開配置界面新建項(xiàng)目。 1. 前言 記錄自己從基礎(chǔ)學(xué)習(xí)vue實(shí)戰(zhàn),初入發(fā)表文章,望各位大佬口下留情!不對(duì)之處還請(qǐng)大佬指點(diǎn)一下。 2. 新建,配置項(xiàng)目 1. 新建Vue-cli3.0腳手架的項(xiàng)目 在這里普及一下,什么是Vue-cli? Vue是一套用于構(gòu)建用戶界面的漸...
摘要:前言記錄自己從基礎(chǔ)學(xué)習(xí)實(shí)戰(zhàn),初入發(fā)表文章,望各位大佬口下留情不對(duì)之處還請(qǐng)大佬指點(diǎn)一下。在加載完后,你自己默認(rèn)的瀏覽器自動(dòng)打開配置界面新建項(xiàng)目。 1. 前言 記錄自己從基礎(chǔ)學(xué)習(xí)vue實(shí)戰(zhàn),初入發(fā)表文章,望各位大佬口下留情!不對(duì)之處還請(qǐng)大佬指點(diǎn)一下。 2. 新建,配置項(xiàng)目 1. 新建Vue-cli3.0腳手架的項(xiàng)目 在這里普及一下,什么是Vue-cli? Vue是一套用于構(gòu)建用戶界面的漸...
摘要:最近公司要做手機(jī)端頁面,之前沒做過,也只是給另一邊的美工指點(diǎn)一下,不過發(fā)現(xiàn)現(xiàn)在寫有一個(gè)毛病那就是類型下面的代碼為什么這樣寫,原因是在寫或看別人的代碼時(shí),會(huì)發(fā)現(xiàn)有很多代碼都重復(fù)于是遵循個(gè)人感覺找頁面中的共同點(diǎn)來封裝,如大小,字體等做到對(duì) 最近公司要做手機(jī)端頁面 ,之前沒做過,也只是給另一邊的美工指點(diǎn)一下, 不過發(fā)現(xiàn)現(xiàn)在寫css有一個(gè)毛病 那就是類型下面的代碼 .text-blue{...
Word Checker word checker 本項(xiàng)目用于單詞拼寫檢查。 Github 地址 項(xiàng)目簡介 本項(xiàng)目用于單詞拼寫檢查。 特性說明 支持 i18n 錯(cuò)誤提示支持 i18N 支持英文的單詞糾錯(cuò) 可以迅速判斷當(dāng)前單詞是否拼寫錯(cuò)誤 可以返回最佳匹配結(jié)果 可以返回糾正匹配列表,支持指定返回列表的大小 后續(xù)將會(huì)添加的新功能 英文單詞支持自行定義 中文單詞的拼寫是否正確功能添加 快速開始 ...
閱讀 3622·2021-11-22 15:11
閱讀 4780·2021-11-18 13:15
閱讀 2771·2019-08-29 14:08
閱讀 3647·2019-08-26 13:49
閱讀 3149·2019-08-26 12:17
閱讀 3350·2019-08-26 11:54
閱讀 3183·2019-08-26 10:58
閱讀 2100·2019-08-26 10:21