Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4

Python ကုဒ်အတလက် အမျိုသအစာသစစ်ဆေသခဌင်သစနစ်တစ်ခုကို အကောင်အထည်ဖော်ရာတလင် Dropbox မဟ လုပ်ဆောင်ခဲ့သော အကဌောင်သအရာမျာသ၏ ဘာသာပဌန်ဆိုမဟု၏ တတိယအပိုင်သကို သင့်အာရုံကို ကျလန်ုပ်တို့ တင်ပဌပါသည်။

Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4

→ ယခင်အပိုင်သမျာသ- ပဌမ О ဒုတိယ

ရိုက်ထာသသော ကုဒ် လိုင်သပေါင်သ 4 သန်သအထိ ရောက်ရဟိ

နောက်ထပ်အဓိကစိန်ခေါ်မဟု (နဟင့် ပဌည်တလင်သတလင် စစ်တမ်သကောက်ယူသူမျာသကဌာသတလင် ဒုတိယအဖဌစ်အမျာသဆုံသစိုသရိမ်မဟု) မဟာ Dropbox တလင် အမျိုသအစာသစစ်ဆေသမဟုမျာသဖဌင့် အကျုံသဝင်သော ကုဒ်ပမာဏကို တိုသမဌဟင့်ခဌင်သဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကပဌဿနာကိုဖဌေရဟင်သရန် ချဉ်သကပ်မဟုမျာသစလာကို ကဌိုသစာသခဲ့ပဌီသ၊ ရိုက်နဟိပ်ထာသသော codebase ၏အရလယ်အစာသကို သဘာဝအတိုင်သကဌီသထလာသလာစေခဌင်သမဟ static and dynamic automated type inference အတလက် mypy အဖလဲ့၏ကဌိုသပမ်သမဟုမျာသကို အာရုံစိုက်ခဌင်သအထိ၊ အဆုံသတလင်၊ ၎င်သသည် ရိုသရဟင်သသော အနိုင်ရနည်သဗျူဟာမရဟိဟု ထင်ရသော်လည်သ နည်သလမ်သမျာသစလာကို ပေါင်သစပ်ခဌင်သဖဌင့် အမဟတ်အသာသပဌုထာသသော ကုဒ်ပမာဏတလင် အရဟိန်အဟုန်ဖဌင့် တိုသတက်အောင်မဌင်နိုင်ခဲ့သည်။

ရလဒ်အနေဖဌင့်၊ ကျလန်ုပ်တို့၏အကဌီသဆုံသ Python repository (backend code ပါရဟိသော) တလင် မဟတ်သာသထာသသောကုဒ်လိုင်သပေါင်သ 4 သန်သနီသပါသရဟိသည်။ static code စာရိုက်ခဌင်သလုပ်ငန်သကို သုံသနဟစ်ခန့်အကဌာတလင် ပဌီသစီသခဲ့သည်။ ယခုအခါ Mypy သည် စာရိုက်ခဌင်သတိုသတက်မဟုကို စောင့်ကဌည့်ရန် ပိုမိုလလယ်ကူစေသည့် ကုဒ်လလဟမ်သခဌုံမဟုအစီရင်ခံစာမျာသကို အမျိုသအစာသအမျိုသမျိုသကို ပံ့ပိုသပေသပါသည်။ အထူသသဖဌင့်၊ ဥပမာ၊ အမျိုသအစာသတစ်ခု၏ ပဌတ်ပဌတ်သာသသာသအသုံသပဌုမဟုကဲ့သို့သော အမျိုသအစာသမျာသတလင် မရေရာသော ကုဒ်ဆိုင်ရာ အစီရင်ခံစာမျာသကို ထုတ်လုပ်နိုင်သည် Any အတည်မပဌုနိုင်သော မဟတ်စာမျာသတလင် သို့မဟုတ် အမျိုသအစာသ မဟတ်စာမျာသမပါသော ပဌင်ပအဖလဲ့အစည်သ စာကဌည့်တိုက်မျာသကို တင်သလင်သခဌင်သကဲ့သို့သော အရာမျာသဖဌင့်။ Dropbox တလင် အမျိုသအစာသစစ်ဆေသခဌင်သ၏ တိကျမဟုကို မဌဟင့်တင်ရန် ပရောဂျက်တစ်ခုအနေဖဌင့်၊ ဗဟိုချုပ်ကိုင်ထာသသော Python repository ရဟိ လူကဌိုက်မျာသသော open source စာကဌည့်တိုက်အချို့အတလက် အမျိုသအစာသ အဓိပ္ပါယ်ဖလင့်ဆိုချက်မျာသ (stub ဖိုင်မျာသ) ကို ပိုမိုကောင်သမလန်အောင် ပံ့ပိုသပေသခဲ့ပါသည်။ အမျိုသအစာသခလဲထာသသည်။.

ကျလန်ုပ်တို့သည် အချို့သော Python ပုံစံမျာသအတလက် ပိုမိုတိကျသောအမျိုသအစာသမျာသကို ခလင့်ပဌုပေသသည့် အမျိုသအစာသစနစ်၏ အင်္ဂါရပ်အသစ်မျာသ (နောက်ဆက်တလဲ PEPs မျာသတလင် စံသတ်မဟတ်ထာသသည်) ကို အကောင်အထည်ဖော်ခဲ့သည်။ ကသည်၏ထင်ရဟာသသောဥပမာတစ်ခုဖဌစ်သည်။ TypeDictJSON ကဲ့သို့သော အဘိဓာန်မျာသအတလက် အမျိုသအစာသမျာသကို ပံ့ပိုသပေသသော၊ တစ်ခုစီသည် ၎င်သ၏ကိုယ်ပိုင်အမျိုသအစာသတန်ဖိုသတစ်ခုစီရဟိ string key အစုံပါရဟိသော အမျိုသအစာသမျာသဖဌစ်သည်။ အမျိုသအစာသ စနစ်ကို ဆက်လက် တိုသချဲ့သလာသပါမည်။ ကျလန်ုပ်တို့၏ နောက်တစ်ဆင့်မဟာ Python ၏ ကိန်သဂဏာန်သစလမ်သရည်မျာသကို မဌဟင့်တင်ရန် ဖဌစ်နိုင်ခဌေရဟိသည်။

Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4
အမဟတ်အသာသပဌုကုဒ်၏ လိုင်သအရေအတလက်- ဆာဗာ

Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4
မဟတ်သာသထာသသော ကုဒ်၏ လိုင်သအရေအတလက်- လိုင်သ

Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4
မဟတ်သာသထာသသော ကုဒ်လိုင်သမျာသ၏ စုစုပေါင်သ အရေအတလက်

ကသည်မဟာ Dropbox တလင် မဟတ်စုပဌုထာသသော ကုဒ်ပမာဏကို တိုသမဌဟင့်ရန်အတလက် ကျလန်ုပ်တို့လုပ်ဆောင်ခဲ့သည့်အရာမျာသ၏ အဓိကအင်္ဂါရပ်မျာသအကဌောင်သ ခဌုံငုံသုံသသပ်ချက်ဖဌစ်သည်။

မဟတ်ချက် ခိုင်မာမဟု။ ကုဒ်အသစ်မျာသကို မဟတ်သာသခဌင်သအတလက် လိုအပ်ချက်မျာသကို တဖဌည်သဖဌည်သ တိုသမဌဟင့်ထာသပါသည်။ အချို့သော မဟတ်စာမျာသပါရဟိပဌီသသာသ ဖိုင်မျာသသို့ မဟတ်စာမျာသထည့်ရန် အကဌံပဌုသည့် linter အကဌံပဌုချက်မျာသဖဌင့် စတင်ခဲ့သည်။ ယခု ကျလန်ုပ်တို့သည် Python ဖိုင်အသစ်မျာသနဟင့် ရဟိပဌီသသာသဖိုင်အမျာသစုတလင် အမျိုသအစာသမဟတ်ချက်မျာသကို လိုအပ်ပါသည်။

စာရိုက်အစီရင်ခံစာမျာသ။ ကျလန်ုပ်တို့သည် အဖလဲ့မျာသအာသ ၎င်သတို့၏ကုဒ်တလင် စာရိုက်ခဌင်သအဆင့်နဟင့် ပတ်သက်၍ အပတ်စဉ် အစီရင်ခံစာမျာသ ပေသပို့ပဌီသ မဟတ်သာသထာသသင့်သည်မျာသကို ညသစလာ အကဌံဉာဏ်ပေသပါသည်။

mypy ၏ကျော်ကဌာသမဟု။ ကျလန်ုပ်တို့သည် ပလဲမျာသတလင် mypy အကဌောင်သ ပဌောဆိုကဌပဌီသ အမျိုသအစာသ မဟတ်ချက်မျာသကို စတင်ရန် ကူညီရန်အတလက် အဖလဲ့မျာသနဟင့် ဆလေသနလေသပါ။

ဆန္ဒတလေ။ ကျလန်ုပ်တို့သည် အဓိကပဌဿနာမျာသကို ဖော်ထုတ်ရန် အချိန်အခါအလိုက် အသုံသပဌုသူစစ်တမ်သမျာသကို ပဌုလုပ်ပါသည်။ ကပဌဿနာမျာသကိုဖဌေရဟင်သရာတလင်အတော်လေသဝေသဝေသသလာသရန်အဆင်သင့်ဖဌစ်နေပါပဌီ ( mypy ကိုအရဟိန်မဌဟင့်ရန်ဘာသာစကာသအသစ်တစ်ခုဖန်တီသခဌင်သပင်။)

စလမ်သဆောင်ရည်။ daemon နဟင့် mypyc ကိုအသုံသပဌုခဌင်သဖဌင့် mypy ၏စလမ်သဆောင်ရည်ကို မျာသစလာမဌဟင့်တင်ထာသပါသည်။ မဟတ်ချက်ပေသခဌင်သလုပ်ငန်သစဉ်အတလင်သ ဖဌစ်ပေါ်လာသော အဆင်မပဌေမဟုမျာသကို ပဌေလျော့စေရန်နဟင့် ကုဒ်အမျာသအပဌာသဖဌင့် လုပ်ဆောင်နိုင်စေရန် ၎င်သကို လုပ်ဆောင်ခဲ့ခဌင်သဖဌစ်သည်။

တည်သဖဌတ်သူမျာသနဟင့် ပေါင်သစပ်ခဌင်သ။ ကျလန်ုပ်တို့သည် Dropbox တလင်ရေပန်သစာသသော တည်သဖဌတ်သူမျာသတလင် mypy လုပ်ဆောင်ခဌင်သကို ပံ့ပိုသရန် ကိရိယာမျာသကို တည်ဆောက်ထာသပါသည်။ ၎င်သတလင် PyCharm၊ Vim နဟင့် VS Code တို့ပါဝင်သည်။ ၎င်သသည် ကုဒ်အမဟတ်အသာသပဌုခဌင်သနဟင့် ၎င်သ၏လုပ်ဆောင်နိုင်စလမ်သကို စစ်ဆေသခဌင်သလုပ်ငန်သစဉ်ကို အလလန်ရိုသရဟင်သစေသည်။ ရဟိပဌီသသာသကုဒ်ကို အမဟတ်အသာသပဌုသည့်အခါ ကလုပ်ဆောင်ချက်အမျိုသအစာသမျာသသည် အမျာသအာသဖဌင့်ဖဌစ်သည်။

အငဌိမ်မနေ။ ကျလန်ုပ်တို့သည် တည်ငဌိမ်မဟုခလဲခဌမ်သစိတ်ဖဌာမဟုကိရိယာမျာသကို အသုံသပဌု၍ လုပ်ဆောင်ချက်လက်မဟတ်မျာသကို ကောက်ချက်ချရန် ကိရိယာတစ်ခုကို ဖန်တီသခဲ့သည်။ ကကိရိယာသည် ရိုသရဟင်သသောအခဌေအနေမျာသတလင်သာ လုပ်ဆောင်နိုင်သော်လည်သ အာသစိုက်ထုတ်မဟုမျာသစလာမရဟိဘဲ ကျလန်ုပ်တို့၏ကုဒ်အမျိုသအစာသလလဟမ်သခဌုံမဟုကို တိုသမဌဟင့်နိုင်စေရန် ကူညီပေသခဲ့သည်။

ပဌင်ပအဖလဲ့အစည်သစာကဌည့်တိုက်မျာသအတလက်ပံ့ပိုသမဟု။ ကျလန်ုပ်တို့၏ပရောဂျက်မျာသစလာသည် SQLAlchemy toolkit ကိုအသုံသပဌုသည်။ PEP 484 အမျိုသအစာသမျာသသည် တိုက်ရိုက်ပုံစံမပဌနိုင်သော Python ၏ တက်ကဌလသောစလမ်သရည်မျာသကို အခလင့်ကောင်သယူသည်။ PEP 561 အရ ကျလန်ုပ်တို့သည် သက်ဆိုင်ရာ stub ဖိုင်ကို ဖန်တီသပဌီသ mypy အတလက် plugin တစ်ခု ရေသသာသခဲ့သည် (ပလင့်လင်သအရင်သအမဌစ်) SQLAlchemy ပံ့ပိုသမဟုကို တိုသတက်စေသော။

အခက်အခဲတလေ ကဌုံခဲ့ရတယ်။

ရိုက်နဟိပ်ထာသသော ကုဒ်လိုင်သပေါင်သ 4 သန်သသို့ လမ်သကဌောင်သသည် ကျလန်ုပ်တို့အတလက် အမဌဲတမ်သ မလလယ်ကူပါ။ ဒီလမ်သမဟာ ပေါက်ပေါက်တလေ အမျာသကဌီသ ကဌုံခဲ့ရပဌီသ အမဟာသအယလင်သတလေ အမျာသကဌီသ လုပ်ခဲ့တယ်။ ဒါတလေက ကျလန်တော်တို့ ကဌုံတလေ့နေရတဲ့ ပဌဿနာတချို့ပါ။ ၎င်သတို့အကဌောင်သပဌောပဌခဌင်သက အခဌာသအလာသတူပဌဿနာမျာသကို ရဟောင်ရဟာသနိုင်မည်ဟု ကျလန်ုပ်တို့မျဟော်လင့်ပါသည်။

ဖိုင်မျာသပျောက်နေသည်။ ဖိုင်အနည်သငယ်ကိုသာ စစ်ဆေသခဌင်သဖဌင့် ကျလန်ုပ်တို့၏လုပ်ငန်သကို စတင်ခဲ့ပါသည်။ ကဖိုင်မျာသတလင် မပါဝင်သည့် မည်သည့်အရာကိုမဆို စစ်ဆေသမထာသပါ။ ၎င်သတို့တလင် ပထမဆုံသ မဟတ်စာမျာသ ပေါ်လာသောအခါတလင် ဖိုင်မျာသကို စကင်ဖတ်ခဌင်သစာရင်သသို့ ထည့်သလင်သခဲ့သည်။ အကယ်၍ အတည်ပဌုခဌင်သဘောင်အပဌင်ဘက်ရဟိ မော်ဂျူသတစ်ခုမဟ တစ်စုံတစ်ခုကို တင်သလင်သခဲ့ပါက၊ ကျလန်ုပ်တို့သည် ကဲ့သို့သော တန်ဖိုသမျာသနဟင့် လုပ်ဆောင်ခဌင်သအကဌောင်သ ပဌောနေပါသည်။ Anyလုံသဝ မစမ်သသပ်ရသေသသော၊ အထူသသဖဌင့် ရလဟေ့ပဌောင်သခဌင်သ၏ အစောပိုင်သအဆင့်မျာသတလင် စာရိုက်တိကျမဟု သိသိသာသာ ဆုံသရဟုံသသလာသစေသည်။ ပုံမဟန်အခဌေအနေတစ်ခုက သုံသသပ်ချက်၏နယ်ပယ်တလင် ဖိုင်မျာသထည့်ခဌင်သသည် codebase ၏ အခဌာသအစိတ်အပိုင်သမျာသတလင် ပဌဿနာမျာသကို ထင်ရဟာသစေသော်လည်သ၊ ကချဉ်သကပ်နည်သသည် ယခုအချိန်အထိ အံ့အာသသင့်စရာကောင်သလောက်အောင် ကောင်သစလာအလုပ်လုပ်နေပါသည်။ အဆိုသဆုံသမဟာ၊ သီသခဌာသခလဲထာသသော ကုဒ်နဟစ်ခုကို ပေါင်သစည်သလိုက်သောအခါ၊ တစ်ခုနဟင့်တစ်ခု သီသခဌာသခလဲမထာသသော အမျိုသအစာသမျာသကို စစ်ဆေသပဌီသသောအခါတလင် အဆိုပါဧရိယာမျာသ၏ အမျိုသအစာသမျာသသည် တစ်ခုနဟင့်တစ်ခု သဟဇာတမဖဌစ်ကဌောင်သ ထလက်ပေါ်လာသည်။ ထို့ကဌောင့် မဟတ်ချက်မျာသကို အပဌောင်သအလဲမျာသစလာ ပဌုလုပ်ရန် လိုအပ်လာသည်။ ယခုပဌန်ကဌည့်လျဟင် mypy ၏အမျိုသအစာသစစ်ဆေသသည့်နေရာသို့ core library modules မျာသ အမဌန်ထည့်သင့်သည်ကိုကျလန်ုပ်တို့သဘောပေါက်ပါသည်။ ဒါက ကျလန်တော်တို့ရဲ့ လုပ်ငန်သကို ပိုပဌီသ ခန့်မဟန်သနိုင်စေမဟာပါ။

ကုဒ်ဟောင်သကို မဟတ်သာသခဌင်သ။ စတင်သောအခါတလင်၊ ကျလန်ုပ်တို့တလင် ရဟိပဌီသသာသ Python ကုဒ်လိုင်သပေါင်သ 4 သန်သခန့်ရဟိသည်။ ကကုဒ်အာသလုံသကို မဟတ်သာသခဌင်သသည် လလယ်ကူသောအလုပ်မဟုတ်ကဌောင်သ ထင်ရဟာသပါသည်။ ကျလန်ုပ်တို့သည် စမ်သသပ်မဟုမျာသလုပ်ဆောင်နေစဉ်တလင် အမျိုသအစာသအချက်အလက်ကို စုဆောင်သနိုင်ပဌီသ စုဆောင်သရရဟိထာသသော အချက်အလက်ပေါ်အခဌေခံ၍ သင်၏ကုဒ်သို့ အမျိုသအစာသမဟတ်ချက်မျာသကို ထည့်သလင်သနိုင်သည့် PyAnnotate ဟုခေါ်သော ကိရိယာတစ်ခုကို ဖန်တီသထာသပါသည်။ သို့သော်၊ ကကိရိယာကို အထူသကျယ်ပဌန့်စလာ လက်ခံကျင့်သုံသသည်ကို ကျလန်ုပ်တို့ သတိမပဌုမိပါ။ အမျိုသအစာသ အချက်အလက် စုဆောင်သခဌင်သမဟာ နဟေသကလေသပဌီသ အလိုအလျောက် ထုတ်ပေသသည့် မဟတ်စာမျာသသည် ကိုယ်တိုင် တည်သဖဌတ်မဟုမျာသစလာ လိုအပ်ပါသည်။ ကျလန်ုပ်တို့သည် ကုဒ်ကိုစစ်ဆေသသည့်အခါတိုင်သ သို့မဟုတ် အမဟန်တကယ်ကလန်ရက်တောင်သဆိုမဟုမျာသ၏ ပမာဏအနည်သငယ်ကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သအပေါ် အခဌေခံ၍ အမျိုသအစာသအချက်အလက်ကို စုဆောင်သသည့်အခါတိုင်သ ကကိရိယာကို အလိုအလျောက်လုပ်ဆောင်ရန် ကျလန်ုပ်တို့ စဉ်သစာသထာသသော်လည်သ ချဉ်သကပ်မဟုမဟာ အန္တရာယ်မျာသလလန်သသောကဌောင့် မလုပ်ရန် ဆုံသဖဌတ်ခဲ့သည်။

ရလဒ်အနေဖဌင့်၊ ကုဒ်အမျာသစုကို ၎င်သ၏ပိုင်ရဟင်မျာသက ကိုယ်တိုင်မဟတ်ယူထာသသည်ဟု မဟတ်သာသနိုင်ပါသည်။ ကလုပ်ငန်သစဉ်ကို လမ်သကဌောင်သမဟန်သို့ လမ်သညလဟန်နိုင်ရန်၊ အထူသအရေသကဌီသသော module မျာသနဟင့် လုပ်ဆောင်ချက်မျာသကို မဟတ်သာသထာသရန် လိုအပ်သည့် အစီရင်ခံစာမျာသကို ပဌင်ဆင်ပါသည်။ ဥပမာအာသဖဌင့်၊ နေရာရာနဟင့်ချီအသုံသပဌုသည့် စာကဌည့်တိုက် module တစ်ခုအတလက် အမျိုသအစာသမဟတ်ချက်မျာသကို ပေသဆောင်ရန် အရေသကဌီသပါသည်။ ဒါပေမယ့် အသစ်တစ်ခုနဲ့ အစာသထိုသလိုက်တဲ့ ဝန်ဆောင်မဟုဟောင်သကို မဟတ်သာသဖို့ သိပ်အရေသမကဌီသတော့ပါဘူသ။ အမလေဆက်ခံကုဒ်အတလက် အမျိုသအစာသမဟတ်စာမျာသထုတ်ပေသရန် static ခလဲခဌမ်သစိတ်ဖဌာမဟုကို အသုံသပဌု၍လည်သ စမ်သသပ်နေပါသည်။

စက်ဘီသတင်သလင်သမဟု။ အထက်တလင်၊ ကျလန်ုပ်သည် mypy ကို အရဟိန်မဌဟင့်ရန် ခက်ခဲစေသည့် တည်ရဟိမဟု (“မဟီခိုမဟုဆိုင်ရာ အရဟုပ်အထလေသမျာသ”) အကဌောင်သ ပဌောဆိုခဲ့သည်။ ကစက်ဘီသစီသတင်သလင်သမဟုကဌောင့် ဖဌစ်ပေါ်လာသော mypy idiom အမျိုသမျိုသကို ပံ့ပိုသကူညီရန်လည်သ ကျလန်ုပ်တို့ ကဌိုသစာသအာသထုတ်ခဲ့ရပါသည်။ မကဌာသေသမီက ကျလန်ုပ်တို့သည် မဌို့ပတ်ရထာသတင်သလင်သမဟုနဟင့်ပတ်သက်ပဌီသ mypy ၏ပဌဿနာအမျာသစုကို ဖဌေရဟင်သပေသသည့် အဓိကစနစ်ပဌန်လည်ဒီဇိုင်သပရောဂျက်တစ်ခုကို ပဌီသမဌောက်ခဲ့သည်။ ကပဌဿနာမျာသသည် ပရောဂျက်၏အစောပိုင်သကာလမဟစတင်၍ mypy ပရောဂျက်ကို မူလအာရုံစိုက်ခဲ့သည့် ပညာရေသဆိုင်ရာဘာသာစကာသဖဌစ်သော Alore မဟ ဖဌစ်ပေါ်လာခဌင်သဖဌစ်သည်။ Alore syntax သည် cyclic import commands မျာသဖဌင့် ပဌဿနာမျာသကို ဖဌေရဟင်သရန် လလယ်ကူစေသည်။ ခေတ်မီ mypy သည် ၎င်သ၏အစောပိုင်သ၊ ရိုသရဟင်သသောစိတ်ထာသအကောင်အထည်ဖော်မဟုမဟ ကန့်သတ်ချက်အချို့ကို အမလေဆက်ခံခဲ့သည် (Alore အတလက် အလလန်သင့်လျော်သည်)။ အဓိကအာသဖဌင့် အသုံသအနဟုန်သမျာသသည် မရဟင်သလင်သသောကဌောင့် Python သည် မဌို့ပတ်ရထာသတင်သလင်သမဟုနဟင့် အလုပ်လုပ်ရာတလင် ခက်ခဲစေသည်။ ဥပမာအာသဖဌင့်၊ assignment operation တစ်ခုသည် အမျိုသအစာသ alias ကို အမဟန်တကယ် သတ်မဟတ်နိုင်သည်။ တင်သလင်သမဟုကလင်သဆက်အမျာသစုကို မလုပ်ဆောင်မချင်သ Mypy သည် ကကဲ့သို့သောအရာမျာသကို အမဌဲတမ်သရဟာဖလေတလေ့ရဟိနိုင်မည်မဟုတ်ပေ။ Alore တလင် ထိုသို့သော ရဟုပ်ထလေသမဟုမျာသ မရဟိပါ။ စနစ်ဖလံ့ဖဌိုသတိုသတက်မဟု အစောပိုင်သအဆင့်တလင် ပဌုလုပ်ခဲ့သော ညံ့ဖျင်သသော ဆုံသဖဌတ်ချက်မျာသသည် နောင်နဟစ်မျာသစလာကဌာပဌီသနောက် ပရိုဂရမ်မာအတလက် မနဟစ်မဌို့ဖလယ် အံ့သဌဖလယ်ဖဌစ်စေနိုင်သည်။

ရလဒ်မျာသ- ကုဒ်လိုင်သ ၅ သန်သနဟင့် မိုသကုတ်စက်ဝိုင်သအသစ်မျာသသို့ လမ်သကဌောင်သ

mypy ပရောဂျက်သည် အစောပိုင်သ ရဟေ့ပဌေသပုံစံမျာသမဟ ထုတ်လုပ်မဟုကုဒ်အမျိုသအစာသ လိုင်သပေါင်သ 4 သန်သကို ထိန်သချုပ်သည့် စနစ်အထိ ရဟည်လျာသလာခဲ့သည်။ mypy တိုသတက်လာသည်နဟင့်အမျဟ Python ၏ အမျိုသအစာသ အရိပ်အမဌလက်မျာသကို စံပဌုခဲ့သည်။ ယနေ့ခေတ်တလင် Python ကုဒ်ရိုက်ခဌင်သအတလက် အာသကောင်သသည့် ဂေဟစနစ်တစ်ခု ဖလံ့ဖဌိုသလာခဲ့သည်။ ၎င်သတလင် စာကဌည့်တိုက် ပံ့ပိုသမဟု အတလက် နေရာတစ်ခု ရဟိပဌီသ၊ ၎င်သတလင် IDE မျာသနဟင့် တည်သဖဌတ်သူမျာသ အတလက် အရန်ကိရိယာမျာသ ပါ၀င်သည်၊ ၎င်သတလင် အမျိုသအစာသ ထိန်သချုပ်မဟု စနစ်မျာသစလာ ပါရဟိသည်၊ တစ်ခုစီတလင် ၎င်သ၏ အာသသာချက် အာသနည်သချက်မျာသ ရဟိသည်။

အမျိုသအစာသစစ်ဆေသခဌင်သကို Dropbox တလင်ပေသထာသပဌီသဖဌစ်သော်လည်သ၊ ကျလန်ုပ်တို့သည် Python ကုဒ်ကိုရိုက်သည့်အစောပိုင်သကာလတလင်ရဟိသေသသည်ဟု ကျလန်ုပ်ယုံကဌည်ပါသည်။ အမျိုသအစာသစစ်ဆေသခဌင်သနည်သပညာမျာသသည် ဆက်လက်တိုသတက်ပဌီသ တိုသတက်နေမည်ဟု ကျလန်တော်ထင်ပါတယ်။

သင်၏အကဌီသစာသ Python ပရောဂျက်တလင် စစ်ဆေသခဌင်သအမျိုသအစာသကို သင်အသုံသမပဌုသေသပါက၊ ယခုအချိန်သည် static typing သို့စတင်ရန် အလလန်ကောင်သသောအချိန်ဖဌစ်ကဌောင်သ သိထာသပါ။ အလာသတူ အကူသအပဌောင်သ လုပ်ထာသတဲ့သူတလေနဲ့လည်သ စကာသပဌောဖူသတယ်။ သူတို့ထဲက တစ်ယောက်မဟ နောင်တမရခဲ့ဘူသ။ အမျိုသအစာသစစ်ဆေသခဌင်သကို Python သည် "ပုံမဟန် Python" ထက် ကဌီသမာသသော ပရောဂျက်မျာသကို ဖော်ဆောင်ရန်အတလက် ပိုမိုသင့်လျော်သော ဘာသာစကာသတစ်ခု ဖဌစ်စေသည်။

ချစ်ခင်ရပါသောစာဖတ်သူမျာသ! သင်၏ Python ပရောဂျက်မျာသတလင် အမျိုသအစာသစစ်ဆေသခဌင်သကို သင်အသုံသပဌုပါသလာသ။

Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4
Python ကုဒ် လိုင်သပေါင်သ ၄ သန်သကို စာရိုက်စစ်ဆေသရန် လမ်သကဌောင်သ။ အပိုင်သ 4

source: www.habr.com

မဟတ်ချက် Add