From 06516f186fe173193cca119d437f9882c2cbd1e5 Mon Sep 17 00:00:00 2001 From: NATSUME Hiroaki Date: Wed, 18 Dec 2024 16:02:44 +0900 Subject: [PATCH 1/2] Refactor chart value retrieval to improve null handling and encapsulate logic --- .../Pages/Optimize/LiveChartPage.xaml.cs | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs b/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs index 3bc6bf0..4116418 100644 --- a/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs +++ b/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs @@ -1,4 +1,5 @@ using System.Collections.ObjectModel; +using System.Linq; using System.Windows; using System.Windows.Controls; @@ -42,16 +43,35 @@ public void AddPoint(int trialNumber, double[] objectives) { if (_viewModel.ChartEnable) { - double x = ChartXTargetComboBox.SelectedIndex == 0 - ? trialNumber - : objectives[ChartXTargetComboBox.SelectedIndex - 1]; - double y = ChartYTargetComboBox.SelectedIndex == 0 - ? trialNumber - : objectives[ChartYTargetComboBox.SelectedIndex - 1]; + double? x = GetChartValue(trialNumber, objectives, ChartXTargetComboBox.SelectedIndex); + double? y = GetChartValue(trialNumber, objectives, ChartYTargetComboBox.SelectedIndex); + if (x == null || y == null) + { + return; + } _viewModel.ChartPoints.Add(new ObservablePoint(x, y)); } } + private static double? GetChartValue(int trialNumber, double[] objectives, int index) + { + double? value; + if (index == 0) + { + value = trialNumber; + } + else if (index <= objectives.Length) + { + value = objectives[index - 1]; + } + else + { + value = null; + } + + return value; + } + internal void ClearPoints() { _viewModel.ChartPoints.Clear(); From eb38eaa5ed501ace22dc319c1cb1ce2c4a24429f Mon Sep 17 00:00:00 2001 From: NATSUME Hiroaki Date: Wed, 18 Dec 2024 16:24:10 +0900 Subject: [PATCH 2/2] Clean code --- .../Views/Pages/Optimize/LiveChartPage.xaml.cs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs b/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs index 4116418..7e54bea 100644 --- a/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs +++ b/Tunny/WPF/Views/Pages/Optimize/LiveChartPage.xaml.cs @@ -1,5 +1,4 @@ using System.Collections.ObjectModel; -using System.Linq; using System.Windows; using System.Windows.Controls; @@ -55,20 +54,9 @@ public void AddPoint(int trialNumber, double[] objectives) private static double? GetChartValue(int trialNumber, double[] objectives, int index) { - double? value; - if (index == 0) - { - value = trialNumber; - } - else if (index <= objectives.Length) - { - value = objectives[index - 1]; - } - else - { - value = null; - } - + double? value = index == 0 + ? trialNumber + : index <= objectives.Length ? objectives[index - 1] : (double?)null; return value; }