乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CODING DevOps 代碼質(zhì)量實(shí)戰(zhàn)系列第二課: PHP 版

       頭號(hào)碼甲 2022-01-23

      1

      講師介紹

      楊周
      CODING DevOps 架構(gòu)師
      CODING 布道師

      連續(xù)創(chuàng)業(yè)者、DIY/Linux 玩家、知乎小 V,曾在創(chuàng)新工場(chǎng)、百度擔(dān)任后端開發(fā)。十余年一線研發(fā)和帶隊(duì)經(jīng)驗(yàn),經(jīng)歷了 ToB、ToC、O2O、國(guó)內(nèi)、出海各種項(xiàng)目,見證了云計(jì)算時(shí)代的誕生,擅長(zhǎng)研發(fā)最佳實(shí)踐:Code Review、DevOps、Git Workflow、敏捷開發(fā)、架構(gòu)、極客辦公硬件。

      PHP 老項(xiàng)目常見質(zhì)量問(wèn)題

      問(wèn)題一:未提交 composer.lock

      Composer 官方文檔(getcomposer.org)提醒:一定要提交 composer.lock 文件到代碼庫(kù),才能確保所有人、所有機(jī)器安裝的依賴包都是同一版本。

      2

      問(wèn)題二:提交了 vendor

      把第三方包的代碼提交到了自己的代碼庫(kù)里,導(dǎo)致代碼庫(kù)過(guò)大,拉取速度慢,并且無(wú)法跟進(jìn)第三方包的升級(jí)。所以,應(yīng)該使用.gitignore 忽略vendor 目錄。

      解決方案:刪除 vendor,執(zhí)行 composer install,再把 composer.lock 提交到代碼庫(kù)。

      3

      結(jié)果報(bào)錯(cuò):

      1.使用了廢棄的包;
      2.使用了已廢棄的語(yǔ)法;
      3.框架命令執(zhí)行失敗。

      查看 PHP 官方文檔可以發(fā)現(xiàn):PHP 7.4 不贊成使用花括號(hào)語(yǔ)法來(lái)訪問(wèn)數(shù)組元素和字符串偏移量。

      4

      修改之后即可解決,從這個(gè)技術(shù)細(xì)節(jié)可以看出此開源項(xiàng)目無(wú)法跟上 PHP 官方的版本升級(jí),在我們做技術(shù)選型時(shí)要避免使用這種落后的項(xiàng)目、框架,而應(yīng)使用全球知名框架,能夠緊跟語(yǔ)言官方版本升級(jí),目前 PHP 7.1 已經(jīng)廢棄,7.2 即將結(jié)束維護(hù)升級(jí),建議大家使用 7.4 。

      5

      6

      修改 composer 包

      如果需要修改 vendor 中的第三方包,有兩個(gè)辦法:

      1.Fork:修改代碼→制作補(bǔ)丁,自己用 → 發(fā)起合并請(qǐng)求,回饋開源;
      2.私有 composer 倉(cāng)庫(kù):把修改后的包發(fā)布到 coding.net 制品庫(kù)。

      7

      8

      Lint:增量檢查代碼規(guī)范

      清理了第三方代碼之后,可以通過(guò) Lint(代碼靜態(tài)分析工具)程序掃描自己的代碼,PHP Lint 常用的是 CodeSniffer,內(nèi)置知名的「PSR12」規(guī)范,包括很多規(guī)則,比如:

      • 每行代碼最大長(zhǎng)度 120 個(gè)字符;
      • 運(yùn)算符左右各 1 個(gè)空格;
      • 文件結(jié)尾必須有一個(gè)空行。

      9

      老項(xiàng)目有成千上萬(wàn)的報(bào)錯(cuò),一次難以清理干凈,建議使用增量檢查,具體請(qǐng)?jiān)L問(wèn) CODING 幫助文檔,搜索「增量檢查」。

      PHP 自動(dòng)化測(cè)試

      自動(dòng)化測(cè)試要點(diǎn)

      可測(cè)性:不要在系統(tǒng)中使用系統(tǒng)時(shí)間、隨機(jī)數(shù)、實(shí)例化對(duì)象。
      Fake:用于偽造測(cè)試數(shù)據(jù),而不要在測(cè)試代碼中寫死 123、12:00:00,因?yàn)榭赡?999、00:00:00 時(shí)會(huì)報(bào)錯(cuò)。
      Mock:攔截所有的第三方服務(wù),比如測(cè)微信登錄、支付,不可能每次測(cè)試都真的付款。

      10

      PHPUnit 在自動(dòng)化測(cè)試時(shí),可同時(shí)生成測(cè)試覆蓋率的 HTML 報(bào)告,可以看到哪一行代碼沒有覆蓋。這種報(bào)告包含代碼,所以需要私有訪問(wèn),可使用 CODING 通用報(bào)告功能,在持續(xù)集成中自動(dòng)上傳即可。

      11

      12

      13

      PHP 代碼自動(dòng)生成 API 文檔

      在項(xiàng)目開發(fā)中,最好讓代碼先行,在代碼里寫注釋,這樣可以保證注釋與代碼一起維護(hù),然后通過(guò)工具自動(dòng)生成文檔。

      14

      在持續(xù)集成中自動(dòng)生成文檔,可上傳到 CODING API 文檔中,支持團(tuán)隊(duì)成員直接訪問(wèn)、加密分享。

      15

      16

      17

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多