"I recently had the chance to work on one of our projects that has been in development for longer than I have been employed here," writes Phillip, "back when the project was first started, a large part of it was outsourced overseas because, well, that was all the rage back then."
"I was assigned a few relatively simple tasks, which afforded me the opportunity to poke around the code for a bit. One of the first things I found was this, right at the top of SqlHelper.cs."
public static List<string> GetMonths(int month)
{
int _month = month;
List<string> monthList = new List<string>();
for (int i = 0; i < 12; i++)
{
switch (_month)
{
case 0:
monthList.Add("December");
break;
case 1:
monthList.Add("January");
break;
case 2:
monthList.Add("February");
break;
case 3:
monthList.Add("March");
break;
case 4:
monthList.Add("April");
break;
case 5:
monthList.Add("May");
break;
case 6:
monthList.Add("June");
break;
case 7:
monthList.Add("July");
break;
case 8:
monthList.Add("August");
break;
case 9:
monthList.Add("September");
break;
case 10:
monthList.Add("October");
break;
case 11:
monthList.Add("November");
break;
case 12:
monthList.Add("December");
break;
}
_month++;
_month = (_month % 13);
if (_month == 0)
_month = 1;
}
return monthList;
}
"I have yet to understand what the function does, or how exactly it's used. When I asked if anyone was considering any general clean-up and refactoring, the lead developer mentioned he had already spent a fair amount of time on that. Curious as to what this clean-up was, I took a look at one of his larger check-ins. In hundreds of different places, code that looked like this..."
string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
"Had been updated to this..."
string strConn = ConfigurationManager.AppSettings["ConnectionString"];
Phillip added, "clearly, worrying about whether or not a particular part of the .net framework showing a warning because it had been deprecated was more important than whether or not un-managed resources were disposed of properly."