|
You Remind me my Old company. Joining them I started developing with VB6. In my Project I did the entire project keeping Option Explicit on. Then I gave that entire project to my Senior.
Then he complained: Hey I cannot program, its making error.
??????????????????
what ????
I know I am coward since the day I know that fortune favors the brave
|
|
|
|
|
Before people start... The horror is NOT that this is VB code... Now with that out of the way...
A bit of weird code a colleague found recently...
If code.Length < 5 Or code.Length = 6 Or code.Length = 7 Then
Throw New Exception("Code should be 5 characters long.")
End If My guess is that the programmer assumed it would be 5 characters long or less. Then it turned out it could be 6 too so the Or code.length = 6 part was added, then the code was 7 at some occurrence... The users weren't stupid enough to enter an 8 character code so that one hasn't been added (yet)
Why not simply check if code.Length <> 5 ?
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
At least the programmer added a comment stating what the code should do.
|
|
|
|
|
If only the code did what was commented... Perhaps requirements changed and the comment is wrong?
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Maybe the comment and the error message should have been
' This code should always be 5 characters or more than 7 characters.
|
|
|
|
|
Then he should correct the exception too:
"Code should be 5 characters long OR longer than 7."
Giraffes are not real.
|
|
|
|
|
OMG ... I can't look at it. I'm feeling sick. Thank you for ruining my day!
|
|
|
|
|
or simply set the max lenght of the textbox = 5
|
|
|
|
|
In order to write secure code... whatever how important is your input, do Not trust the client, validate input data even @ back-end
think about client Validation just like good interface, to ease user life, to reduce hits on the server... no more
Last Egyptian Physicist
www.ameen.rr.nu
|
|
|
|
|
What? That's all you got!? I've seen this s**tstuff for years!
|
|
|
|
|
What's so bad about being explicit about what you don't accept as a valid value?
Besides that, we also have a lot of literal values here. Checking the length against a constant or some configuration entry can be helpful, especially because the code's valid length may have changed over time. Throwing a plain vanilla exception with a literal message also is sloppy. It's not that hard to derive custom exeption classes for your application and would help in avoiding Pokemon exception handling.
I'm invincible, I can't be vinced
|
|
|
|
|
My fix
If IsPrime(90*code.Length+61) Then
Throw New Exception("Code should be 5 or anything above 7 characters long.")
End If
modified 27-Jan-12 10:13am.
|
|
|
|
|
Are you a member of Obfuscators Anonymous.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
Yeah, at the Novice rank. I hope to go up to Apprentice this year.
|
|
|
|
|
Hey, VB is great. It is much easier than C#. I do everything in C# but don't hate on VB.
|
|
|
|
|
Difference between VB or C# is a syntax, thanks to the .net framework. But if you ask what do I think is that C# is better. But ultimately it comes toward preference.
|
|
|
|
|
Just goes to show that some programmers haven't got a clue!
A perpetual holiday is a good working definition of hell.
|
|
|
|
|
"code.Length <> 5" is far too easy!
|
|
|
|
|
Indeed...
Dim counter As Long
For Each c As Char In code
counter = counter + 1
End If
If counter < 5 Then
Throw New Exception("The code is to short!")
ElseIf counter = 6
Throw New Exception("The code is to long!")
ElseIf counter = 7
Throw New Exception("The code is to long!")
Else
End If
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Much better! LOL
bwa
P.S.: Does the happy face get output??
|
|
|
|
|
The happy face is a hidden VB feature in .NET 4
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
Surely "The code is tOO short"
It's an OO world, remember.
|
|
|
|
|
Indeed, not enough Objects...
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|
|
These instances of code changes were not done by a programmer. A developer maybe, but not a programmer.
|
|
|
|
|
Perhaps we could debate a bit on the difference between programmer and developer?
Anyway, whoever made those changes had no clue what they were doing so it seems
It's an OO world.
public class Naerling : Lazy<Person>{
public void DoWork(){ throw new NotImplementedException(); }
}
|
|
|
|