2023-05-29 Answers Code Review Tasks 23

Jautājumi

  1. Nav saprotams, kādas vērtības jāliek šajā funkcijā image-20230529122215672

Funkcija paradzēta, lai azipildītu SelectionFileDAD.IntegrationDataSet, izmantojot ārēju Pascal kodu. Nedrīkst hard-coded bez nosaukumiem parametrus funkciju izsaukumiem.

image-20230529123355656

SelectionFileDAD.Integrate funkcijas parametri image-20230529123616431

funkcijā tiek izveidots jauns peak table image-20230529123711640

Un uzstādīts baseline, kuru arī jārāda chromatogramā

image-20230529123738209

 

  1. Nekur kodā nedrīkst iekodēt Strings, kuri būs redzami lietotājam, nelietojot LocalizationUtils.Localize - programmai ir jāstrādā uzreiz Japāņu valodā, nevar būt netulkoti teksti

image-20230529122532162 image-20230529122539396

 

Code Review

  1. Novērst šādu bīstamu kodu - un neatkārtot citur image-20230529122902862

  2. Novērst, ka UIv2ChromatogramView strādā ar UIv2SelectionItem. Tas, ka treeview / sidebar strādā ar šo ir saprotams, bet nav saprotams kāpēc man nepietiek ar SelectionFileDAD kā datu avotu? Pie tam pašam Project view arī varētu iztikt ar UIv2SelectionItem, pievienojot IsSelected property. Šis ievērojami apgrūtinās darbu Kristianam K. peivienojot šo kontroli Automation programmām

image-20230529123435826

Nosaukums OriginalSelectionFileDAD arī ir ļoti maldinošs, jo nemaz nav nekāds cits “non-original” SelectionFileDAD.

Tāpat nekādā gadījumā nedrīkst būt bezjēdzīgas kopijas datiem kā piemēram Peaks un Name, drīkst būt GETTER properties, bet nedrīkst būt datu kopijas!

image-20230529124035158

 

  1. image-20230529124152109

 

  1. Salabot, haotisku koda pierakstu - nepieciešams vienots funkciju nosaukumu stils nevis katru funkciju savā stilā un ar savu pierakstu, dažreiz this, dažreiz bez utt

    image-20230529124339885

  1. Iznest kopīgo kodu funkcijās, neatkartot 3x image-20230529124509988

  1. Visām funkcijām jābūt try..catch, lai pie vienas kļūdas visa lietotne nesabruktu, gandrīz nevienai tavai funkcijai nav try..catch un LoggingUtils.logException, kas ir svarīgi, lai vēlāk atrastu kļūdas [rpdilcok

  2. a]

    image-20230529124553968

  1. Funkcijās nedrīkst būt vairāk kā viens return, itsevišķi tādās, kur vairāki nosacījumi un jālieto ELSE IF. Katekoriski aizliegts ārpus try..catch RETURN rindiņā likt sarežģītus izsaukumus, kuriem ļoti augsta varbūtība crashot. Vispār return rindā nedrīkst likt funkciju izsaukumus image-20230529124723459

  1. UIv2ChromatogramView pārsaukt UIv2MultiChromatogramsAndPeakTableView, ļoti apjucinošs nosaukums, nosaukumiem jābūt pēc iespējas aprakstošiem

     

 

TODO

  1. Scrollable log, kur tiek fiksēts viss info kā tika iegūti dati (to pievienos Kristiana Kalniņa kods, kamēr chromatogram tiek ievākta) image-20230529120125736

Var pievienot no vecā, koda, taču jāpārbauda, ka strāda korekti kā arī kamēr kristiana kalniņa kods darbosies, šie dati mainīsies, tapēc būs nepieciešams, lai Log scrollotos uz leju, ja lietotājs pats nesāk scrollēt - vecajā kodā to dara m_timerLogScrollDown_Tick

if(Mode == UserControlViewDataMode.Realtime) vecajā kodā nozīmēja, ka chromatogram šobrīd tiek iegūta

  1. “Info” tab, satur informāciju no selectionFileDAD.GetFormatedValuesList(isFullHeader: false) vajadzētu pārtaisīt, lai atkal nav lieks mainīgais m_itemsSourceDataGridInfo

    Jāievēro, ka nepieciešams dažiem no laukiem būtu funkcijai, lai var nomainīt saturu/tekstu IsEditable = true un visiem mainīt secību ar drag & drop

    Ar raita un Kristiana Kalniņa palīdzību jāuztaisa editing kontrole līdzīgi kā vecajā versijā bija (kristianam K. jau ir šāda kontrole mainot solvent names ChromSword DataSystem)

    image-20230529120717642