Sgaoileadh PHPStan 1.0, anailisiche statach airson còd PHP

Às deidh sia bliadhna de leasachadh, chaidh a ’chiad fhoillseachadh seasmhach den anailisiche statach PHPStan 1.0 a chumail, a leigeas leat mearachdan a lorg ann an còd PHP gun a bhith ga chuir an gnìomh agus a’ cleachdadh deuchainnean aonaid. Tha còd a’ phròiseict air a sgrìobhadh ann am PHP agus air a chuairteachadh fo chead MIT.

Bidh an anailisiche a’ toirt seachad 10 ìrean de sgrùdadh, anns am bi gach ìre às deidh sin a’ leudachadh comasan an fhear roimhe agus a’ toirt seachad sgrùdaidhean nas cruaidhe:

  • Sgrùdaidhean bunaiteach, a’ mìneachadh chlasaichean, gnìomhan agus modhan neo-aithnichte ($this), caochladairean neo-mhìnichte, agus a’ dol seachad air an àireamh ceàrr de argamaidean.
  • A’ comharrachadh caochladairean a dh’ fhaodadh a bhith neo-mhìnichte, dòighean draoidheachd neo-aithnichte agus feartan chlasaichean le __call agus __get.
  • A’ lorg dhòighean neo-aithnichte anns a h-uile abairt, gun a bhith cuibhrichte ri fiosan tro $this. A’ sgrùdadh PHPDocs.
  • A’ sgrùdadh seòrsaichean tilleadh agus a’ sònrachadh sheòrsan gu togalaichean.
  • Comharrachadh bunaiteach de chòd “marbh” (nach deach ainmeachadh). Comharraich eisimpleir de ghlaodhan a bhios an-còmhnaidh a’ tilleadh blocaichean meallta, “eile” nach loisg gu bràth, agus còd às deidh dhaibh tilleadh.
  • A’ sgrùdadh nan seòrsaichean argamaidean a thèid a chur gu modhan agus gnìomhan.
  • Rabhadh mu dheidhinn seòrsachadh fiosrachaidh a tha a dhìth.
  • Rabhadh mu sheòrsan aonaidh ceàrr a tha a’ mìneachadh cruinneachaidhean de dhà sheòrsa no barrachd.
  • Rabhadh mu dhòighean gairm agus faighinn gu togalaichean le seòrsaichean “nullable”.
  • A’ sgrùdadh cleachdadh an t-seòrsa “measgaichte”.

    Eisimpleirean de dhuilgheadasan bunaiteach air an comharrachadh:

    • Clasaichean air an cleachdadh mar eisimpleir de, glacadh, seòrsa sanasan agus togail cànain eile.
    • Na dòighean agus na gnìomhan ris an canar a bhith ann agus a tha rim faighinn, a bharrachd air an àireamh de argamaidean a chaidh aontachadh.
    • A’ dèanamh cinnteach gu bheil an dòigh a’ tilleadh dàta leis an aon sheòrsa a tha air a mhìneachadh san abairt tilleadh.
    • Mar a tha agus faicsinneachd nan togalaichean a gheibhear thuca, agus a’ sgrùdadh nan seòrsaichean dàta dearbhte agus fìor a thathas a’ cleachdadh anns na togalaichean.
    • Tha an àireamh de pharamadairean a chaidh a chuir gu fiosan sprintf/printf anns a’ bhloc cruth sreang ceart.
    • Caochladairean a bhith ann a’ toirt aire do bhlocaichean a chaidh a chruthachadh le gnìomhaichean branrach agus lùban.
    • Tilgeadh seòrsa gun fheum (m. e. "(string) 'foo'") agus deuchainnean teann ("===" agus "!==") air dàta le diofar sheòrsachan is obrachaidhean a bhios an-còmhnaidh a' tilleadh ceàrr.

    Prìomh innleachdan ann am PHPStan 1.0:

    • Chaidh an ìre sgrùdaidh “9” a chuir an gnìomh, a nì sgrùdadh air cleachdadh an t-seòrsa “measgaichte”, a tha an dùil a bhith ag eagrachadh cuirm nam paramadairean le diofar sheòrsan. Tha Ìre XNUMX a’ comharrachadh cleachdaidhean mì-shàbhailte de “measgaichte”, leithid a bhith a’ dol seachad air luachan seòrsa “measgaichte” gu seòrsa eile, a’ gairm dhòighean seòrsa “measgaichte”, agus a’ faighinn cothrom air na feartan aige leis gur dòcha nach eil iad ann.
    • Smachd a bheil luachan tilleadh co-ionann airson gairmean gnìomh co-ionann a’ cleachdadh na notaichean @phpstan-pure agus @phpstan-impure.
    • Taidhp mion-sgrùdadh ann an try-catch-mu dheireadh a’ cleachdadh notaichean @throws.
    • Comharrachadh feartan taobh a-staigh (prìobhaideach) a tha mìnichte ach nach deach a chleachdadh, dòighean agus seasmhachd.
    • Cuir seachad fios air ais neo-fhreagarrach gu gnìomhan rèite leithid array_map agus usort.
    • Seòrsa sgrùdadh airson notaichean seòrsa-seòrsa a tha a dhìth.
    • Dèan dearbhaidhean seòrsa co-chosmhail ri PHPDocs, a’ ceadachadh seòrsaichean bho theachdaireachdan mearachd a chleachdadh ann am PHPDocs.

    Source: fosgailtenet.ru

  • Cuir beachd ann