成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

使用GrumPHP來糾正代碼“毛病”

jubincn / 515人閱讀

摘要:默認(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

GrumPHP

GrumPHP 是通過掛在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 用于加載代碼檢測的庫
實(shí)戰(zhàn)

是不是太多了,忽略上面,咱一步一步看。下面是安裝完成后自動(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

相關(guān)文章

  • 再談express與koa的對(duì)比

    摘要:以前其實(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ì)比. 這里...

    phodal 評(píng)論0 收藏0
  • 記自己一次vue基礎(chǔ)實(shí)戰(zhàn):配置篇

    摘要:前言記錄自己從基礎(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)建用戶界面的漸...

    NoraXie 評(píng)論0 收藏0
  • 記自己一次vue基礎(chǔ)實(shí)戰(zhàn):配置篇

    摘要:前言記錄自己從基礎(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)建用戶界面的漸...

    SmallBoyO 評(píng)論0 收藏0
  • 寫css的毛病

    摘要:最近公司要做手機(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{...

    wenyiweb 評(píng)論0 收藏0
  • java 英文單詞拼寫糾正框架(Word Checker)

    Word Checker word checker 本項(xiàng)目用于單詞拼寫檢查。 Github 地址 項(xiàng)目簡介 本項(xiàng)目用于單詞拼寫檢查。 特性說明 支持 i18n 錯(cuò)誤提示支持 i18N 支持英文的單詞糾錯(cuò) 可以迅速判斷當(dāng)前單詞是否拼寫錯(cuò)誤 可以返回最佳匹配結(jié)果 可以返回糾正匹配列表,支持指定返回列表的大小 后續(xù)將會(huì)添加的新功能 英文單詞支持自行定義 中文單詞的拼寫是否正確功能添加 快速開始 ...

    amc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<