成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP代碼自動檢測(git/svn集成PHP_CodeSniffer)

CoderDock / 511人閱讀

摘要:背景在公司開發(fā)的時候,每次不管還是提交代碼的時候都會對代碼進行簡單的自動檢測。并且明確告知文檔不可能的。猜想應(yīng)該自動代碼檢測肯定是集成在工程代碼所在的服務(wù)端是最好的。寫在最后通過了解代碼的自動檢測,發(fā)現(xiàn)了很多問題。

背景

在公司開發(fā)的時候,每次不管svn還是git提交代碼的時候都會對代碼進行簡單的自動檢測。檢查不了代碼邏輯,但是最起碼能保證整體的編碼格式保持一致。這個功能還是挺有用的,一直想了解下是怎么實現(xiàn)的,直到最近想起來才開始了解這個自動檢測是怎么回事。

研究途徑

一般公司的doc文檔上會記錄各種系統(tǒng)的某個功能的具體實現(xiàn),而且很可能不止一個文檔,在公司的doc文檔上各種關(guān)鍵字搜索都找不到相關(guān)資料

找到對應(yīng)部門的同事詢問是如何實現(xiàn)的。同事給了答復(fù)是PHP_CodeSniffer并且告知了github鏈接。并且明確告知:文檔?不可能的。然后加了一句,網(wǎng)上什么都有

最后就自己在Baidu/Google了幾篇文章,差不多就了解了

實踐部分

PHP_CodeSniffer的安裝 參考資料

pear install PHP_CodeSniffer

我直接使用了pear方式安裝,簡單方便很多。使用pear安裝的擴展庫基本上默認在php的安裝目錄下,比如我的:/opt/php-7.1.9/lib/php/PHP/CodeSniffer。大家可以參考下自己的安裝目錄。
命令行直接使用PHP_CodeSniffer如下:

phpcs test.php

設(shè)置PHP_CodeSniffer的代碼規(guī)范格式。

# /opt/php-7.1.9/lib/php/PHP/CodeSniffer/src/Standards 
# 這個目錄下列出了所有可以設(shè)置的格式(PSR1,PSR2,PSR12,Zend,Squiz等)
phpcs --config-set default_standard Zend

svn/git安裝

這里不展開描述了,由于我在虛擬機上安裝也花了一些時間,都是參考網(wǎng)上的資料。

將PHP_CodeSniffer集成到git/svn中
每部署一個svn項目,都會對應(yīng)的配置文件,其中有個hooks文件夾,其中有pre-commit,在這個文件中加上phpcs 的命令就好了。
git的原理是一樣的,都是有個hooks的文件夾,其中都有pre-commit。
差別:我們公司svn是在commit的過程中進行的自動檢測,git是在git push的時候進行檢測操作的。猜想應(yīng)該自動代碼檢測肯定是集成在工程代碼所在的服務(wù)端是最好的。svn commit的時候就直接訪問的遠程主機。但是git commit的時候是將代碼保存在本地分支,只有g(shù)it push的時候才是提交到遠程主機,所以git就是在git push的時候進行的自動檢測操作。

寫在最后

通過了解PHP代碼的自動檢測,發(fā)現(xiàn)了很多問題。

自己沒有主動去思考問題,最開始的時候就是想去doc上查找資料,而不是先想想這個功能是如何做到的。再到在doc上沒找到資料直接去找了同事

一直在做業(yè)務(wù)需求的時候,常常忘記了繼續(xù)學(xué)習(xí),思考其他東西。比如linux命令很多都已經(jīng)忘記了,還有就是PHP_CodeSniffer這個擴展庫很不錯,之后有時間再研究下具體實現(xiàn)。需要經(jīng)常思考問題

通過這次的代碼自動檢測發(fā)現(xiàn)自己什么都不懂,pear,PSR,svn/git,yum/apt-get等等很多都不懂,即使之前用過,但是沒有深入研究過,也沒有做對應(yīng)的記錄,所以很快就忘記了。看的稍微多一點就會意識到自己了解的太少太少了

感謝這個過程中使用的幾個資料

參考文檔
PHP_CodeSniffer安裝

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28931.html

相關(guān)文章

  • PHP代碼修正之CodeSniffer

    摘要:它包含兩類腳本,和地址腳本對文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯可設(shè)置報錯等級。腳本能自動修正代碼格式上不符合規(guī)范的部分。 Last-Modified: 2019年5月10日13:59:27 參考鏈接 PHP開發(fā)規(guī)范之使用phpcbf腳本自動修正代碼格式 在PhpStorm中使用PSR2編碼規(guī)范phpcbf腳本自...

    khs1994 評論0 收藏0
  • jenkins+sonarqube+php自動檢測&發(fā)送郵件基本實現(xiàn)

    摘要:由于拉取有文件會自動拉取。那么需要在后臺關(guān)閉這個選項中文插件保持賬戶擁有者和發(fā)送郵件一致 目的 對于小組內(nèi)部PHP代碼進行定期檢測及分發(fā) 1. 需要定期從svn 或者git拉取指定代碼 2. 對代碼庫內(nèi)部門模塊進行隔離或者刪除,不參與檢測 3. 為小組內(nèi)人員定期發(fā)送郵件, 4. 可分配具體bug 給具體小組內(nèi)人員 jenkins安裝及安裝插件 1. sonar搭建可以參考 [之前文章...

    AaronYuan 評論0 收藏0
  • PHP 系列:代碼規(guī)范之 Code Sniffer

    摘要:腳本對文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測出不符合代碼規(guī)范的代碼并發(fā)出警告或報錯可設(shè)置報錯等級。比如規(guī)范中對每一個文件的結(jié)尾都需要有一行空行,那么運行這個腳本后就能自動在結(jié)尾處加上一行空行。 showImg(https://segmentfault.com/img/remote/1460000011338137); 有些同學(xué)可能還沒聽過這東西,大概介紹...

    0xE7A38A 評論0 收藏0
  • PHP 規(guī)范說明與工具

    摘要:今天這篇分享將簡單地梳理一下規(guī)范,并介紹一個代碼檢查工具,結(jié)合以及進行實踐。目前流行的一些規(guī)范是的簡寫,由組織制定的規(guī)范,是開發(fā)的實踐標(biāo)準(zhǔn)。目前已表決通過了套標(biāo)準(zhǔn),已經(jīng)得到大部分框架的支持和認可。 > 作為一個新手,寫出規(guī)范的代碼也是一門必修課,除了閱讀相應(yīng)的代碼規(guī)范文檔之外,充分利用相關(guān)的工具能使得進階之路事半功倍。今天這篇分享將簡單地梳理一下 PHP 規(guī)范,并介紹一個代碼檢查工具 ...

    snowLu 評論0 收藏0
  • 使用PHPCS+GIT鉤子保障團隊開發(fā)中代碼風(fēng)格一致性實踐

    摘要:集成經(jīng)過上面的操作,代碼格式化的規(guī)則基本與的規(guī)則基本一致了,但也有一小部分不一致,所以后面還要用到和。 一、背景 筆者在6月份加入新團隊,新團隊這邊剛組建起來,基礎(chǔ)一些東西還處于待完善狀態(tài),比如筆者組內(nèi)同學(xué)約定使用PSR-2的編碼風(fēng)格規(guī)范,但是并不是所有人都嚴格按照PSR-2來提交代碼。 最大的原因就是口頭的約束力極為有限,而團隊中大家使用的編輯器不統(tǒng)一,有使用phpstorm,也有使...

    wums 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<