我的任务是清理处理图表绘制的一段代码,此图表将表示一段时间内电压[kV]的变化。我的问题是,到目前为止,它工作得相当糟糕,在标签之间进行了几次切换后停止运转。
你看,有两个单选按钮,它们用于切换数据点上的标记,当你继续前后切换时,应用程序会减速直到它完全停止。
我在树林里迷路了,因为我是一个自己的新手,并没有参与创建这个功能,这两个因素加起来就是一个非常混乱的实习生。
我认为问题在于标签之间切换的逻辑:
var newSerie = new Series();
var newSerie2 = new Series();
newSerie.ChartType = SeriesChartType.Line;
newSerie.ChartType = SeriesChartType.Line;
DataPoint dp = _dataPointList[i]; // FROM
DataPoint dp2 = _dataPointList2[i]; // TO
newSerie.Color = Color.Orange;
newSerie2.Color = Color.MidnightBlue;
string txt1 = _voltageList[i].Endvalue.ToString();
string txt2 = _voltageList[i].StartValue.ToString();
dp.Label = txt2;
dp2.Label = txt1;
newSerie.Points.Add(dp);
newSerie2.Points.Add(dp2);
newSerie.AxisLabel = _voltageList[i].MyStr;
newSerie2.AxisLabel = _voltageList[i].MyStr;
_localChart.Series.Add(newSerie);
_localChart.Series.Add(newSerie2);
_localChart.Update();
newSerie.Points.Remove(dp);
newSerie2.Points.Remove(dp2);
然后循环查看列表中的每个单独数据点。
答案 0 :(得分:1)
查看您的原始帖子,很明显它需要重构。最初编写它的人不喜欢称这些功能是肯定的!
首先重构所有无关紧要的东西 绘图,就像计算给定月份的秒数一样。 将这些东西重构为函数,甚至辅助类。
然后重构其他一小部分功能,你很快就会完成 开始将这种方法的怪物煮沸到更多的东西 可管理和可调试。
我的猜测是切换按钮增加了2个新系列,但我看不到 旧系列被删除。