Bhí earráidí camóg ar iarraidh ag 3.6% de na stórtha Python a tástáladh

Foilsíodh torthaí staidéir ar leochaileacht chód Python i leith earráidí a bhaineann le húsáid mhícheart camóga sa chód. Is é is cúis leis na fadhbanna ná go ndéanann Python na teaghráin sa liosta a chomhcheangal go huathoibríoch agus é á n-áireamh mura bhfuil camóg scartha leo, agus déileálann sé leis an luach mar thuple má leanann camóg an luach. Tar éis anailís uathoibrithe a dhéanamh ar 666 stór GitHub le cód Python, d'aithin na taighdeoirí saincheisteanna coma féideartha i 5% de na tionscadail a ndearnadh staidéar orthu.

Léiríodh le hiniúchadh láimhe breise nach raibh fíor-earráidí i láthair ach i 24 stór (3.6%), agus b’fhíordheimhneacha bréagacha an 1.4% eile (mar shampla, d’fhéadfaí camóg a fhágáil ar lár d’aon ghnó idir línte chun cosáin chomhaid illíne a chomhlachú, hashes fada, HTML bloic nó nathanna SQL). Is fiú a lua go raibh tionscadail mhóra mar Tensorflow, Google V24, Sentry, Pydata xarray, rapidpro, django-colorfield agus deasc chabhrach django-colorfield i measc na 8 stór ina raibh fíor-earráidí. Mar sin féin, ní bhaineann fadhbanna le camóga go sonrach le Python agus is minic a ardaítear iad i dtionscadail C/C++ (samplaí de na réitigh is déanaí ná LLVM, Mono, Tensorflow).

Na príomhchineálacha earráidí a ndearnadh staidéar orthu:

  • Camóg in easnamh de thaisme i liostaí, tuples, agus tacair, rud a fhágann go bhfuil teaghráin comhghatáilte in ionad iad a léirmhíniú mar luachanna ar leith. Mar shampla, i Sentry, chaill ceann de na tástálacha camóg idir na teaghráin "eisiúintí" agus "a aimsíodh" sa liosta, rud a d'fhág gur seiceáladh láimhseálaí "/releasesdiscover" nach raibh ann, in ionad "/eisiúintí" agus "a sheiceáil. /discover" ar leithligh.
    Bhí earráidí camóg ar iarraidh ag 3.6% de na stórtha Python a tástáladh

    Sampla eile is ea gur cumasc dhá riail dhifriúla ar líne 572 de bharr camóg ar iarraidh in rapidpro:

    Bhí earráidí camóg ar iarraidh ag 3.6% de na stórtha Python a tástáladh

  • Camóg atá ar iarraidh ag deireadh sainmhíniú aonghné tuple, rud a fhágann go sannfar cineál rialta seachas tuple don tasc. Mar shampla, mar thoradh ar an abairt "luachanna = (1,)" sannfar athróg de tuple d'eilimint amháin, ach beidh "values ​​= (1)" sannadh de chineál slánuimhir mar thoradh air. Ní dhéanann na lúibíní sna tascanna thuas difear don sainmhíniú cineáil agus tá siad roghnach, agus is é an parsálaí a chinneann láithreacht tuple ach amháin bunaithe ar láithreacht camóga. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated' sannfar teaghrán in ionad tuple. ) }
  • Is é an cás eile ná camóga breise le linn sannadh. Má fhágtar camóg trí thimpiste ag deireadh an taisc, sannfar tuple mar luach in ionad an ghnáthchineál (mar shampla, má shonraítear “luach = 1,” in ionad “luach = 1”).

Foinse: oscailtenet.ru

Add a comment