Nav saprotams, kādas vērtības jāliek šajā funkcijā
Funkcija paradzēta, lai azipildītu SelectionFileDAD.IntegrationDataSet, izmantojot ārēju Pascal kodu. Nedrīkst hard-coded bez nosaukumiem parametrus funkciju izsaukumiem.
SelectionFileDAD.Integrate funkcijas parametri
funkcijā tiek izveidots jauns peak table
Un uzstādīts baseline, kuru arī jārāda chromatogramā
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
Novērst šādu bīstamu kodu - un neatkārtot citur
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
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!
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
Iznest kopīgo kodu funkcijās, neatkartot 3x
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
a]
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
UIv2ChromatogramView pārsaukt UIv2MultiChromatogramsAndPeakTableView, ļoti apjucinošs nosaukums, nosaukumiem jābūt pēc iespējas aprakstošiem
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)
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
xxxxxxxxxx
421<ScrollViewer Name="uiScrollTextBoxLog">
2<StackPanel Orientation="Vertical">
3<!-- Online log -->
4<TextBox Name="uiTextBoxLogRuntime"
5Margin="10,10,10,0"
6Background="White"
7IsReadOnly="True"
8Padding="0"
9Style="{StaticResource ResourceKey=TextBoxClearReadOnly}"
10Text="{Binding InstanceMainSelectionFileDAD.RefExperiment.MethodData.MetaRptFilePath,
11UpdateSourceTrigger=PropertyChanged}"
12TextWrapping="Wrap" />
13<TextBox Name="uiTextBoxLogRuntime2"
14Margin="10,0,10,10"
15Background="White"
16IsReadOnly="True"
17Padding="0"
18Style="{StaticResource ResourceKey=TextBoxClearReadOnly}"
19Text="{Binding InstanceMainSelectionFileDAD.RefExperiment.MethodData.MetaRptHeader,
20UpdateSourceTrigger=PropertyChanged}"
21TextWrapping="Wrap" />
22<!-- Offline log -->
23<TextBox Name="uiTextBoxLog"
24Margin="10,10,10,0"
25Background="White"
26IsReadOnly="True"
27Padding="0"
28Style="{StaticResource ResourceKey=TextBoxClearReadOnly}"
29Text="{Binding InstanceMainSelectionFileDAD.RefFileDAD.MethodData.MetaRunHeaderSummary,
30UpdateSourceTrigger=PropertyChanged}"
31TextWrapping="Wrap" />
32<TextBox Name="uiTextBoxLog2"
33Margin="10,0,10,10"
34Background="White"
35IsReadOnly="True"
36Padding="0"
37Style="{StaticResource ResourceKey=TextBoxClearReadOnly}"
38Text="{Binding InstanceMainSelectionFileDAD.RefFileDAD.MethodData.MetaRunHeaderFull,
39UpdateSourceTrigger=PropertyChanged}"
40TextWrapping="Wrap" />
41</StackPanel>
42</ScrollViewer>
“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)