3.6٪ د Python زیرمو ازموینه شوي د کوما غلطۍ ورکې وې

په کوډ کې د کوما غلط استعمال پورې اړوند غلطیو ته د Python کوډ د زیان مننې په اړه د مطالعې پایلې خپرې شوې. ستونزې د دې حقیقت له امله رامینځته کیږي کله چې شمیرل کیږي ، پیتون په اوتومات ډول په لیست کې تارونه سره یوځای کوي که چیرې دوی د کوما لخوا نه وي جلا شوي ، او همدارنګه ارزښت د ټیټ په توګه چلند کوي که چیرې ارزښت د کوما لخوا تعقیب شي. د Python کوډ سره د 666 GitHub ذخیره کولو اتوماتیک تحلیل ترسره کولو وروسته ، څیړونکو د مطالعې 5٪ پروژو کې د کوما احتمالي مسلې په ګوته کړې.

نور لاسي تفتیش وښودله چې اصلي تېروتنې یوازې په 24 ذخیره کې شتون درلود (3.6٪)، او پاتې 1.4٪ غلط مثبتې وې (د مثال په توګه، کوما په قصدي توګه د څو لاین فایلونو د راټولولو لپاره د لاینونو تر مینځ پریښودل کیدی شي، اوږده هشونه، HTML. بلاکونه یا د ایس کیو ایل څرګندونې). د یادونې وړ ده چې د ریښتیني غلطیو سره د 24 ذخیره کولو په مینځ کې دومره لوی پروژې وې لکه ټینسر فلو ، ګوګل وی 8 ، سینټري ، پیډاټا ایکسری ، ریپډپرو ، جینګو - کلرفیلډ او جینګو - هیلپ ډیسک. په هرصورت، د کوما سره ستونزې د Python لپاره ځانګړي ندي او ډیری وختونه په C/C++ پروژو کې راټولیږي (د وروستي اصلاحات مثالونه LLVM، Mono، Tensorflow دي).

د تېروتنې اصلي ډولونه مطالعه شوي:

  • په تصادفي ډول په لیستونو، ټپلونو او سیټونو کې د کوما ورکیدل، د دې لامل کیږي چې تارونه د جلا ارزښتونو په توګه تشریح کولو پر ځای سره یوځای شي. د مثال په توګه، په سینټري کې، یوې ازموینې په لیست کې د تارونو "ریلیز" او "کشف" تر منځ کوما له لاسه ورکړې، چې په پایله کې یې د "/ ریلیز" او "چک کولو پرځای د غیر موجود "/ ریلیز ډیسکور" هینډلر چک کول. / کشف" په جلا توګه.
    3.6٪ د Python زیرمو ازموینه شوي د کوما غلطۍ ورکې وې

    بله بیلګه دا ده چې په چټک پرو کې ورک شوي کوما د دې لامل شوې چې دوه مختلف قواعد په 572 لاین کې یوځای شي:

    3.6٪ د Python زیرمو ازموینه شوي د کوما غلطۍ ورکې وې

  • د واحد عنصر ټپل تعریف په پای کې ورک شوی کوما، د دې لامل کیږي چې دنده د ټپل پر ځای منظم ډول وټاکي. د مثال په توګه، د "ارزښت = (1،)" بیان به د یو عنصر د ټوپل متغیر ته د دندې په پایله کې وټاکي، مګر "ارزښت = (1)" به د بشپړ ډول ډول تفویض پایله ولري. په دې دنده کې قوسونه د ډول تعریف اغیزه نه کوي او اختیاري دي، او د ټپل شتون یوازې د کوما شتون پراساس د پارسر لخوا ټاکل کیږي. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated' # به د ټپل پر ځای یو تار ټاکل کیږي.) }
  • برعکس حالت د دندې په جریان کې اضافي کوما دي. که چیرې کوما په ناڅاپي ډول د یوې دندې په پای کې پاتې شي، یو ټپل به د معمول ډول پر ځای د ارزښت په توګه وټاکل شي (د مثال په توګه، که "ارزښت = 1" د "ارزښت = 1" پرځای مشخص شوی وي).

سرچینه: opennet.ru

Add a comment