Sakin PHPStan 1.0, madaidaicin nazari don lambar PHP

Bayan shekaru shida na ci gaba, farkon barga saki na static analyzer PHPStan 1.0 ya faru, wanda ke ba ku damar nemo kurakurai a cikin lambar PHP ba tare da aiwatar da shi ba da amfani da gwaje-gwajen naúrar. An rubuta lambar aikin a cikin PHP kuma an rarraba a ƙarƙashin lasisin MIT.

Mai nazarin yana ba da matakan dubawa guda 10, wanda kowane matakin da ya biyo baya yana faɗaɗa ƙarfin na baya kuma yana ba da ƙarin bincike mai ƙarfi:

  • Binciken asali, ma'anar azuzuwan da ba a san su ba, ayyuka da hanyoyin ($ wannan), masu canjin da ba a bayyana ba, da ƙaddamar da adadin mahawara mara kyau.
  • Gano yiwuwar sauye-sauyen da ba a bayyana ba, hanyoyin sihiri da ba a san su ba da kaddarorin azuzuwan tare da __kira da __samu.
  • Gano hanyoyin da ba a sani ba a cikin duk maganganun, ba'a iyakance ga kira ta hanyar $ wannan ba. Duba PHPDocs.
  • Duba nau'ikan dawowa da sanya nau'ikan zuwa kaddarori.
  • Gano ainihin lambar “matattu” (ba a taɓa kiransa ba). Gano misalin kiran da koyaushe ke dawowa karya, “wasu” tubalan da ba sa yin wuta, da lamba bayan dawowa.
  • Duba nau'ikan mahawara da aka wuce zuwa hanyoyi da ayyuka.
  • Gargadi game da bacewar bayanin bayanin nau'in.
  • Gargaɗi game da nau'ikan ƙungiyoyin da ba daidai ba waɗanda ke ayyana tarin nau'ikan biyu ko fiye.
  • Gargadi game da hanyoyin kira da samun dama ga kaddarori tare da nau'ikan "marasa amfani".
  • Tabbatar da amfani da nau'in "mixed".

    Misalan matsalolin da aka gano:

    • Kasancewar azuzuwan da aka yi amfani da su wajen misalin, kamawa, buga rubutu da sauran abubuwan gina harshe.
    • Kasancewa da samuwan hanyoyin da ayyuka da ake kira, da kuma adadin muhawarar da aka wuce.
    • Dubawa cewa hanyar tana dawo da bayanai tare da nau'in iri ɗaya kamar yadda aka ayyana a cikin bayanin dawowar.
    • Kasancewa da ganuwa na kaddarorin da ake samun dama, da kuma duba fayyace da ainihin nau'ikan bayanan da aka yi amfani da su a cikin kaddarorin.
    • Adadin sigogin da aka wuce zuwa kiran sprintf/printf a cikin toshe tsararrun kirtani daidai ne.
    • Kasancewar masu canji suna yin la'akari da tubalan kafa ta masu aiki da madaukai.
    • Nau'in simintin gyare-gyare mara amfani (misali "(string) 'foo'") da tsauraran gwaje-gwaje ("==="da"!==") akan bayanai masu nau'ikan nau'ikan nau'ikan operands da operands waɗanda koyaushe suke dawowa karya.

    Maɓallin sabbin abubuwa a cikin PHPStan 1.0:

    • An aiwatar da matakin bincike na "9", wanda ke duba amfani da nau'in "gauraye", wanda aka yi nufi don tsara liyafar aikin na sigogi tare da nau'ikan daban-daban. Mataki na XNUMX yana gano rashin aminci amfani na "gauraye", kamar wucewar nau'in nau'in "gauraye" zuwa wani nau'in, kiran hanyoyin nau'in "gauraye", da samun damar mallakarsa saboda ƙila babu su.
    • Sarrafa ko ƙimar dawowa daidai suke don kiran aiki iri ɗaya ta amfani da bayanan @phpstan-pure da @phpstan-impure.
    • Buga bincike a gwada-catch-ƙarshe yana ginawa ta amfani da @jefa bayanai.
    • Gane ƙayyadaddun ƙayyadaddun kaddarorin ciki (na sirri) waɗanda ba a yi amfani da su ba, hanyoyin da madaidaitan.
    • Canja wurin dawo da kira mara jituwa zuwa ayyukan tsararru kamar array_map da usort.
    • Nau'in dubawa don bacewar bayanan rubutu.
    • Nau'in sanarwa na nau'in da ya dace da PHPDocs, yana ba da damar yin amfani da nau'ikan saƙon kuskure a cikin PHPDocs.

    source: budenet.ru

  • Add a comment