MVVMCROSS versioonis 6.2.2 tehti mitu muudatust, mis võivad mõjutada null -referentsierandite (NRES) esinemist. Siin on peamised muudatused:
1. ROK -i pakkuja lähtestamine: üks oluline muutus on seotud `mvx.iocprovider` initsialiseerimisega. Enne seda versiooni, kui ROK -i pakkujat ei seatud õigesti üles, võib see käskude konstrueerimisel, näiteks mvxasynccommand "konstrueerimisel null -viideteni. `MVXCommandBase'i” konstruktorit värskendati nii, et see hõlmaks varumehhanismi, mis kasutab `mvxweakCommandHelper”, kui ROK -i pakkuja on null või ei suuda lahendada eksemplari `imvxcommandHelper`. Selle muudatuse eesmärk on leevendada NRE -sid, tagades, et käsud saaksid endiselt toimida ka siis, kui ROK -i pakkujat ei ole täielikult lähtestatud [1].
2. Veakäitlemise täiustamine: potentsiaalsete nullviitide käsitlemist on raamistiku erinevates osades paranenud. Näiteks on lisatud tšekid tagamaks, et teatud atribuudid ja meetodid ei üritaks tühistada nullobjekte. See on eriti oluline komponentide puhul, mis tuginevad välistele teenustele või sõltuvustele, mis ei pruugi alati olla saadaval [1].
3. Ühiku testimise korrigeerimine: kasutajad teatasid, et ühikutestide probleemid ebaõnnestuvad null -viidete tõttu, kui kasutate `mvxasynccommand. Soovitati ROK -i pakkuja selgesõnaliselt initsialiseerida ühikute testiprojektides. See kohandamine aitab tagada, et kõik sõltuvused on enne testide täitmist korralikult lahendatud, vähendades sellega testimisstsenaariumide ajal NRE -de ilmnemise tõenäosust [1].
4. Üldised veaparandused: MVVMCROSSi 6.2.2 väljaande märkused näitavad, et käsitleti mitmeid null -viide eranditega seotud vigu, ehkki iga paranduse konkreetsed üksikasjad ei olnud laialdaselt dokumenteeritud. Need parandused võivad sisaldada kohandamist raamistiku erinevate komponentide vahel, kus NRE -sid varem teatati [10].
Üldiselt keskenduvad need muudatused MVVMCOSS -is 6.2.2 Käsu täitmise stabiilsuse ja usaldusväärsuse parandamisele ja sõltuvuse eraldusvõime parandamisele, mis on kriitilised valdkonnad, kus võivad tekkida null -viide erandid. Parandades initsialiseerimisprotsessi ja vigade käitlemist, võivad arendajad oodata selliste erandite vähenemist oma selle raamistikuga loodud rakendustes.
Tsitaadid:]
[2] https://www.mvvmcross.com/mvvmcross-8.0.0-Release/
[3] https://pvs-studio.com/en/blog/posts/csharp/1049/
[4] https://www.youtube.com/watch?v=uzsdzok4un8
[5] https://github.com/mvvmcross/mvvmcross/releasses
[6] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[7] https://github.com/mvvmcross/mvvmcross/issues/3310
[8] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md
]
[10] https://www.mvvmcross.com/mvvmcross-6.2.0-release/