3.6% ji depoyên Python-ê yên ku hatine ceribandin xeletiyên koma wenda bûne

Encamên lêkolînek li ser lawazbûna koda Python a li hember xeletiyên ku bi xeletî bikar anîna qertafên di kodê de ne hatine weşandin. Pirsgirêk ji ber vê yekê çêdibin ku dema jimartin, Python bixweber rêzikên di navnîşê de ger ku ew bi kommayê ji hev veneqetin, bi hev ve girêdide, û her weha heke nirx li dû nirxek were peywirdarkirin, nirxê wekî tîrêjê digire. Piştî ku vekolînek otomatîkî ya 666 depoyên GitHub bi koda Python re kirin, lêkolîneran di 5% ji projeyên ku hatine lêkolîn kirin de pirsgirêkên mihtemel ên komê tespît kirin.

Zêdetir vekolîna bi destan destnîşan kir ku xeletiyên rastîn tenê di 24 depoyan de hene (3.6%), û yên mayî 1.4% pozîtîfên derewîn in (mînak, kommayek dikare bi qestî di navbera rêzan de were derxistin da ku rêyên pelê yên pir-xêz, haşên dirêj, HTML-ê bi hev ve girêbide. blokên an îfadeyên SQL). Hêjayî gotinê ye ku di nav 24 depoyên bi xeletiyên rastîn de projeyên mezin ên wekî Tensorflow, Google V8, Sentry, Pydata xarray, rapidpro, django-colorfield û django-helpdesk hene. Lêbelê, pirsgirêkên koman ji Python-ê re ne taybetî ne û bi gelemperî di projeyên C/C++ de derdikevin (nimûneyên rastkirinên vê dawiyê LLVM, Mono, Tensorflow ne).

Cûreyên sereke yên xeletiyên lêkolînê:

  • Di navnîşan, pirtikan, û koman de bi şaşî kommayek wenda dibe, di şûna ku wekî nirxên cuda werin şîrove kirin rêz werin hevber kirin. Mînakî, di Sentry de, yek ji ceribandinan di nav rêzên "releases" û "vedîtin" de di lîsteyê de kommayek wenda kir, ku di encamê de li şûna ku "/releases" û "kontrolkirina "/releasesdiscover" vekêşkerek neheyî kontrol bike. / vedîtin" cuda.
    3.6% ji depoyên Python-ê yên ku hatine ceribandin xeletiyên koma wenda bûne

    Nimûneyek din jî ev e ku di rapidpro de commayek winda bû sedem ku du qaîdeyên cûda li ser rêza 572 werin yek kirin:

    3.6% ji depoyên Python-ê yên ku hatine ceribandin xeletiyên koma wenda bûne

  • Di dawiya pênaseka yek-hêmanan de kommayek wenda ye, dibe sedem ku peywir li şûna tîpek birêkûpêk were destnîşankirin. Mînakî, îfadeya "nirx = (1,)" dê bibe sedema peywirdarkirina guhêrbarek pirjimarek yek elementê, lê "nirx = (1)" dê bibe sedema peywirdariyek ji celebek yekjimar. Parantezên di van peywiran de bandorê li pênasekirina tîpan nakin û vebijarkî ne, û hebûna qertafekê ji hêla parserê ve tenê li ser bingeha hebûna koman tê destnîşankirin. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated' # dê ji dêvla pirjimarekê rêzek jê re were veqetandin. ) }
  • Rewşa berevajî di dema wezîfedarkirinê de komikên zêde ne. Ger di dawiya peywirekê de bi xeletî kommayek were hiştin, dê li şûna celebê asayî jimareyek were destnîşan kirin (mînak, heke "nirx = 1" li şûna "nirx = 1" were destnîşan kirin).

Source: opennet.ru

Add a comment