Ny 3.6% amin'ireo tahiry Python nosedraina dia tsy nahitana fahadisoana faingo

Navoaka ny valin'ny fanadihadiana momba ny faharefoan'ny code Python amin'ny lesoka mifandraika amin'ny fampiasana diso ny faingo ao amin'ny code. Ny olana dia vokatry ny hoe rehefa manisa, Python dia mampifandray ho azy ireo tady ao anaty lisitra raha tsy sarahan'ny faingo izy ireo, ary raisina ho toy ny tuple ihany koa ny sanda raha arahin'ny faingo ny sandany. Rehefa avy nanao famakafakana mandeha ho azy ny 666 GitHub repository miaraka amin'ny kaody Python, ny mpikaroka dia namantatra ny mety ho olana comma ao amin'ny 5% amin'ny tetikasa nodinihina.

Ny fisafoana amin'ny manual fanampiny dia nampiseho fa ny tena fahadisoana dia hita tao amin'ny tahiry 24 (3.6%), ary ny ambiny 1.4% dia diso tsara (ohatra, ny faingo dia azo esorina eo anelanelan'ny andalana mba hanambatra ny lalan'ny rakitra maromaro, hashes lava, HTML. blocks na SQL expressions). Marihina fa anisan'ireo trano fitehirizam-bokatra 24 misy lesoka tena izy ireo tetikasa lehibe toy ny Tensorflow, Google V8, Sentry, Pydata xarray, rapidpro, django-colorfield ary django-helpdesk. Na izany aza, ny olana amin'ny faingo dia tsy voafaritra amin'ny Python ary matetika mipoitra amin'ny tetikasa C/C++ (ohatra amin'ny fanamboarana vao haingana dia LLVM, Mono, Tensorflow).

Ny karazana fahadisoana lehibe nodinihina:

  • Tsy nahy faingo amin'ny lisitra, tuples ary seta, ka mahatonga ny tadiny ho mifamatotra fa tsy adika ho sanda misaraka. Ohatra, ao amin'ny Sentry, ny iray amin'ireo fitsapana dia tsy nahitana faingo teo anelanelan'ny tady "release" sy "discover" tao amin'ny lisitra, izay niafara tamin'ny fanamarinana ny mpitantana "/releasesdiscover" tsy misy, fa tsy manamarina ny "/releases" sy ny " /discover" misaraka.
    Ny 3.6% amin'ireo tahiry Python nosedraina dia tsy nahitana fahadisoana faingo

    Ohatra iray hafa ny hoe ny faingo tsy hita ao amin'ny rapidpro dia nahatonga fitsipika roa samy hafa natambatra tamin'ny andalana 572:

    Ny 3.6% amin'ireo tahiry Python nosedraina dia tsy nahitana fahadisoana faingo

  • Faingo tsy hita eo amin'ny faran'ny famaritana tuple singa tokana, mahatonga ny fanendrena hanendry karazana mahazatra fa tsy tuple. Ohatra, ny teny hoe "values ​​​​= (1,)" dia miteraka fanendrena ho an'ny fari-piainan'ny singa iray, fa ny "values ​​= (1)" dia miteraka fanendrena karazana integer. Ny fononteny amin'ireo andraikitra ireo dia tsy misy fiantraikany amin'ny famaritana karazana ary azo atao, ary ny fisian'ny tuple dia mamaritra ny parser raha tsy mifototra amin'ny fisian'ny faingo. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated' # dia homena tady fa tsy tuple. ) }
  • Ny toe-javatra mifanohitra amin'izany dia faingo fanampiny mandritra ny fanendrena. Raha tavela tsy nahy ny faingo eo amin'ny faran'ny fanendrena iray, dia hasiana tuple ho sandany fa tsy karazana mahazatra (ohatra, raha "value = 1", no voalaza fa tsy "value = 1").

Source: opennet.ru

Add a comment