|
jsc42 wrote: it even has an approved name: JSON!
I always thought that it was called SDD (String Driven Development)
Oxfords English < Official CCC Players Dictionary
Excuse me for my improper grammar and typos.
It's because English is my primary language, not my first language.
My first languages are C# and Java.
VB, ASP, JS, PHP and SQL are my second language.
Indonesian came as my third language.
My fourth language? I'm still creating it, I'll let you know when it's done!
|
|
|
|
|
I had to deal with that sort of thing on my last assignment, in VB of course.
|
|
|
|
|
It's surprising how many people try to create their own solutions to problems which already have established and well-behaving solutions :S.
modified 6-Apr-21 21:01pm.
|
|
|
|
|
Quote: It's surprising how many people try to create their own solutions to problems which already have established and well-behaving solutions :S.
Bear in mind that it's difficult, no ... impossible ... to keep up with all the available technology. I don't know how many times I've "invented" something only to find out later that someone else already did it (invariably, in a better way
|
|
|
|
|
Very true, that's why I used "established". In this case WS* and more recently various RESTful standards (see for example OData) try to address this problem since 2003 (while other frameworks tried than even during the 90s)... It's quite natural for someone with a bit of experience to go search there first to see if they can use one prepared solution or at least get inspiration from.
Of course, having a general grasp on where to search the answer on a problem is one of the most important skills of an architect/developper, and it's not something all people enjoy doing (some people for example prefer the pleasure and control of building something themselves, while others prefer to experiment with a lot of things others invented).
modified 6-Apr-21 21:01pm.
|
|
|
|
|
You're lucky. You can at least differentiate between array type arguments and others. And you do have argument names that hint at their intended use.
I've encountered that philosophy in the early 90s, when trying to learn OLE2: in my search for documentation of the automation API provided by Excel, I've found that all functions exlusively used arguments of the type Variant .
I would really have liked to know whether they are supposed to be integer values, short, or maybe even double, or in which order I am supposed to pass the arguments, but the documentation did not even contain argument names to give a hint of which is which, much less an explanation what the arguments are supposed to contain.
According to MicroSoft and even other sources, at that time that documentation was the most elaborate to be had ,,,
Fortunately I eventually found a good book on the topic (not by MS!), or I'd still be busy doing trial and error to find out just how to use that API...
|
|
|
|
|
Timely post - I made this point in my codeproject article which highlighted that web developers have resorted to passing complex business data as strings because there is no industrial strength mechanism to do what more mature development platforms have. Data is really key to making line of business (LoB) web applications, but unfortunately the industry currently has the tail wagging the dog: we are trying to retro-fit robust business data services onto a scripted/markup platform. The two don't mix. We are forced to compromise, and this ain't good as we will find out with an enormous number of broken legacy web apps in the near future. The current methods of building cross-platform LoB web applications is simply not good enough.
|
|
|
|
|
Sounds like a consulting opportunity to me!
Charlie Gilley
<italic>You're going to tell me what I want to know, or I'm going to beat you to death in your own house.
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
For business needs strings are fine.
I've programmed in Pick for over 20 years.
Its only data type the multivalued variable length array is just a delimited string.
So I don't have a problem at all with Web provided data being text.
|
|
|
|
|
Names changed to protect the innocent...
I'm working with some VB.net projects and I decided to turn on Option Strict. It threw an error for this line:
If someProp Is Nothing OrElse String.IsNullOrEmpty(someProp.Value OrElse someProp.Value = "0") Then
This is what was intended:
If someProp Is Nothing OrElse String.IsNullOrEmpty(someProp.Value) OrElse someProp.Value = "0" Then
for option explicit! for the fact that I have several projects to go and I'm working in the order of best code to worst code.
|
|
|
|
|
That's good entertainment. You just have to laugh.
|
|
|
|
|
eh, this is a garden-variety typo bug. I wouldn't count it as a horror as it doesn't look intentional. Even so, I can feel a sympathetic headache building...thanks
|
|
|
|
|
Yeah, the real horror is that VB.net allows that at all.
|
|
|
|
|
Allowing OrElse inside of an IsNullOrEmpty is a bad thing? On the contrary, that could be very useful.
|
|
|
|
|
The bad part is that the OrElse is between a string and a boolean, which is returning a boolean, which then gets passed as a parameter to String.IsNullOrEmpty.
|
|
|
|
|
True object-oriented programming allows it because they are all objects. It doesn't care.
|
|
|
|
|
Using a string as a boolean has nothing to do with object-oriented programming. If the code were directly comparing the boolean and the string, that might be considered something near valid (what with operator overloading), but that was not the case here. This code is basically like doing this:
If "Dragons" Then
Else
End If
It doesn't make any sense.
|
|
|
|
|
You are right, the code did not make any sense. That you are right about.
|
|
|
|
|
Someone doesn't use PHP.
Don't forget to rate my post if it helped!
"He has no enemies, but is intensely disliked by his friends."
"His mother should have thrown him away, and kept the stork."
"There's nothing wrong with you that reincarnation won't cure."
"He loves nature, in spite of what it did to him."
|
|
|
|
|
That's because somebody read a PHP book, puked in his mouth, and is still trying to wash away the filth.
|
|
|
|
|
God I really...REALLY hope that you're just trolling.
|
|
|
|
|
AspDotNetDev wrote: The bad part is that the OrElse is between a string and a boolean, which is
returning a boolean, which then gets passed as a parameter to
String.IsNullOrEmpty.
Uh, that's WHY there is an Option Strict: to allow relaxed type checking on certain operations. Though here it is certainly annoying, and one of the reasons I tend to use Option Strict pretty consistently.
|
|
|
|
|
I have never programmed in VB without Option Strict and Option Explicit turned on. That is the only way that VB doesn't turn into an absolute nightmare.
|
|
|
|
|
I agree. (VB is a nightmare anyways, but point well taken)
|
|
|
|
|
Slight disagreement. The real horror is that the developer has to specify, "Yes, please use short-circuit boolean logic" by using OrElse instead of that being the default behavior.
|
|
|
|