Any comments on this little gem of .net code?
-
I found an entire file full of them in a .net application I'm working on. I'm trying to understand what this person was thinking.
public static string DecimalToGUI(decimal val) { if (val != Constants.DECIMAL_NULL) { return decimal.ToInt64(val).ToString(); } else { return Constants.STRING_NULL; } }
-
I think it demonstrates your naïveté to assume that they were thinking at all.
-
here is another
public static System.DateTime GUIToDate(string stringDate) { if (stringDate.Length > 0) { return System.Convert.ToDateTime(stringDate.Trim().Replace(".", "-")); } else { return Constants.DATE_NULL; } }
-
If written by a contractor, they were thinking of their pension.
Or maybe wondering if it was time for their meds yet.
-
What constants/values are there in Constants?
-
-
Dude, i think your functions are gorgeous.
Instead of altering its purity, why not to add something coherent to this masterpiece? Here's my little grain of sand.
/// <summary>
/// Brilliant function. Returns a valid sting value as string from a sting.
/// </summary>
/// <param name="Sting">a Sting string</param>
/// <returns>A valid sting value in string format</returns>
public static string StingToString (string Sting){
if (Sting != Constants.STING){
return Constants.STING;
}else{
return Sting;
}
}
-
Yo dawg, I herd you like code, so I put a sting in your string so you can return while you return.
Yeah, I probably didn't do it right.
-
All of the constants in the application are in Constants including
<script> public static string STRING_NULL = ""; public static string STRING_NEW = "NEW"; public static int INTEGER_NULL = int.MinValue; public static byte BYTE_NULL = byte.MinValue; public static long LONG_NULL = long.MinValue; public static System.DateTime DATE_NULL = new System.DateTime(1900, 1, 1); public static double DOUBLE_NULL = double.MinValue; public static decimal DECIMAL_NULL = decimal.MinValue; </script>I guess they don't know anything about string.Empty
-
@Kev777 said:
I found an entire file full of them in a .net application I'm working on. I'm trying to understand what this person was thinking.
You'll be grateful for his conscientiousness when the C# group realise that the Excel people were right all along, and make decimal.ToInt64(null) return 0 in the next version.public static string DecimalToGUI(decimal val) { if (val != Constants.DECIMAL_NULL) { return decimal.ToInt64(val).ToString(); } else { return Constants.STRING_NULL; } }
-
Let me make that more clear so the WTF is emphasized:@Kev777 said:
They're using C# so they get nullable types for free, but instead of an actual null they reuse a value which "shouldn't happen" to mean null, and as a result have to write their own toString() and parse() functions to account for the discrepancy./* All of the constants in the application are in Constants including /
public static string STRING_NULL = "";
public static string STRING_NEW = "NEW";
public static int INTEGER_NULL = int.MinValue;
public static byte BYTE_NULL = byte.MinValue;
public static long LONG_NULL = long.MinValue;
public static System.DateTime DATE_NULL = new System.DateTime(1900, 1, 1);
public static double DOUBLE_NULL = double.MinValue;
public static decimal DECIMAL_NULL = decimal.MinValue;
/ I guess they don't know anything about string.Empty */