楊周
CODING DevOps 架構師
CODING 佈道師git
連續創業者、DIY/Linux 玩家、知乎小 V,曾在創新工場、百度擔任後端開發。十餘年一線研發和帶隊經驗,經歷了 ToB、ToC、O2O、國內、出海各類項目,見證了雲計算時代的誕生,擅長研發最佳實踐:Code Review、DevOps、Git Workflow、敏捷開發、架構、極客辦公硬件。後端
Composer 官方文檔(getcomposer.org)提醒:必定要提交 composer.lock 文件到代碼庫,才能確保全部人、全部機器安裝的依賴包都是同一版本。數組
把第三方包的代碼提交到了本身的代碼庫裏,致使代碼庫過大,拉取速度慢,而且沒法跟進第三方包的升級。因此,應該使用.gitignore 忽略vendor 目錄。微信
解決方案:刪除 vendor,執行 composer install,再把 composer.lock 提交到代碼庫。架構
結果報錯:composer
1.使用了廢棄的包;
2.使用了已廢棄的語法;
3.框架命令執行失敗。框架
查看 PHP 官方文檔能夠發現:PHP 7.4 不同意使用花括號語法來訪問數組元素和字符串偏移量。工具
修改以後便可解決,從這個技術細節能夠看出此開源項目沒法跟上 PHP 官方的版本升級,在咱們作技術選型時要避免使用這種落後的項目、框架,而應使用全球知名框架,可以緊跟語言官方版本升級,目前 PHP 7.1 已經廢棄,7.2 即將結束維護升級,建議你們使用 7.4 。測試
若是須要修改 vendor 中的第三方包,有兩個辦法:雲計算
1.Fork:修改代碼→製做補丁,本身用 → 發起合併請求,回饋開源;
2.私有 composer 倉庫:把修改後的包發佈到 coding.net 製品庫。
清理了第三方代碼以後,能夠經過 Lint(代碼靜態分析工具)程序掃描本身的代碼,PHP Lint 經常使用的是 CodeSniffer,內置知名的「PSR12」規範,包括不少規則,好比:
老項目有成千上萬的報錯,一次難以清理乾淨,建議使用增量檢查,具體請訪問 CODING 幫助文檔,搜索「增量檢查」。
可測性:不要在系統中使用系統時間、隨機數、實例化對象。
Fake:用於僞造測試數據,而不要在測試代碼中寫死 12三、12:00:00,由於可能 99九、00:00:00 時會報錯。
Mock:攔截全部的第三方服務,好比測微信登陸、支付,不可能每次測試都真的付款。
PHPUnit 在自動化測試時,可同時生成測試覆蓋率的 HTML 報告,能夠看到哪一行代碼沒有覆蓋。這種報告包含代碼,因此須要私有訪問,可以使用 CODING 通用報告功能,在持續集成中自動上傳便可。
在項目開發中,最好讓代碼先行,在代碼裏寫註釋,這樣能夠保證註釋與代碼一塊兒維護,而後經過工具自動生成文檔。
在持續集成中自動生成文檔,可上傳到 CODING API 文檔中,支持團隊成員直接訪問、加密分享。
點擊觀看課程回放
關於 CODING,瞭解更多