Double negative
-
So I've just found the following useful little method in our code-base:
bool NoErrors();
It does pretty much what you'd expect. Checks for a bunch of possible error conditions then returns true if there are no errors or false if there are. The only problem is that every single time it's used (which is a lot), it's:
if ( !NoErrors() ) {
//Do some stuff
} else {
//Do some other stuff
}It's not a huge WTF, but every single time I see it I have that jarring fraction of a second while I parse the double negative.
-
@Niggle said:
So I've just found the following useful little method in our code-base:
bool NoErrors();
It does pretty much what you'd expect. Checks for a bunch of possible error conditions then returns true if there are no errors or false if there are. The only problem is that every single time it's used (which is a lot), it's:
if ( !NoErrors() ) {
//Do some stuff
} else {
//Do some other stuff
}It's not a huge WTF, but every single time I see it I have that jarring fraction of a second while I parse the double negative.
public bool HasErrors() {
return !NoErrors();
}
Fixed? :)
-
@C-Octothorpe said:
@Niggle said:
So I've just found the following useful little method in our code-base:
bool NoErrors();
It does pretty much what you'd expect. Checks for a bunch of possible error conditions then returns true if there are no errors or false if there are. The only problem is that every single time it's used (which is a lot), it's:
if ( !NoErrors() ) {
//Do some stuff
} else {
//Do some other stuff
}It's not a huge WTF, but every single time I see it I have that jarring fraction of a second while I parse the double negative.
public bool HasErrors() {
return !NoErrors();
}
Fixed? :)
Incomplete. You need this too:
public bool HasNoErrors() {
return !HasErrors();
}
-
@Someone You Know said:
@C-Octothorpe said:
@Niggle said:
So I've just found the following useful little method in our code-base:
bool NoErrors();
It does pretty much what you'd expect. Checks for a bunch of possible error conditions then returns true if there are no errors or false if there are. The only problem is that every single time it's used (which is a lot), it's:
if ( !NoErrors() ) {
//Do some stuff
} else {
//Do some other stuff
}It's not a huge WTF, but every single time I see it I have that jarring fraction of a second while I parse the double negative.
public bool HasErrors() {
return !NoErrors();
}
Fixed? :)
Incomplete. You need this too:
public bool HasNoErrors() {
return !HasErrors();
}
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors)
return false;
else if (!hasErrors)
return true;
else
return FILE_NOT_FOUND;
}
-
@mott555 said:
HA! I bet you thought it couldn't possibly be any worse, but I did it!! Mwahahahaha...@Someone You Know said:
@C-Octothorpe said:
@Niggle said:
So I've just found the following useful little method in our code-base:
bool NoErrors();
It does pretty much what you'd expect. Checks for a bunch of possible error conditions then returns true if there are no errors or false if there are. The only problem is that every single time it's used (which is a lot), it's:
if ( !NoErrors() ) {
//Do some stuff
} else {
//Do some other stuff
}It's not a huge WTF, but every single time I see it I have that jarring fraction of a second while I parse the double negative.
public bool HasErrors() {
return !NoErrors();
}
Fixed? :)
public bool HasNoErrors() {
return !HasErrors();
}
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors)
return false;
else if (!hasErrors)
return true;
else
return FILE_NOT_FOUND;
}
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors == false)
return false;
else if ((!hasErrors != false) == true)
return true;
else
return FILE_NOT_FOUND;
}
-
No comments? How am I supposed to understand what's going on here without comments in your code???
-
@Peraninth said:
No comments? How am I supposed to understand what's going on here without comments in your code???
I'm not about to start a good habit...
-
@C-Octothorpe said:
If by "worse" you mean "doesn't even work" then yes, you made it worse.HA! I bet you thought it couldn't possibly be any worse, but I did it!! Mwahahahaha...
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors == false)
return false;
else if ((!hasErrors != false) == true)
return true;
else
return FILE_NOT_FOUND;
}
-
@C-Octothorpe said:
HA! I bet you thought it couldn't possibly be any worse, but I did it!! Mwahahahaha...
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors == false)
return false;
else if ((!hasErrors != false) == true)
return true;
else
return FILE_NOT_FOUND;
}Not enterprisey enough! You need this:
public EnterpriseBoolean HasNoErrors()
{
EnterpriseBoolean hasErrors = new EnterpriseBoolean(HasErrors(), EnterpriseBooleanConfiguration.DoNotInvert);
if (hasErrors.GetFalsitudinousness() > 0)
return EnterpriseBoolean.MaximumFalsitudinousness;
else if (hasErrors.GetFalsitudinousness() == 0)
return EnterpriseBoolean.ZeroFalsitudinousness;
else
return EnterpriseBoolean.TruerThanTrue;
}
-
@ekolis said:
@C-Octothorpe said:
HA! I bet you thought it couldn't possibly be any worse, but I did it!! Mwahahahaha...
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors == false)
return false;
else if ((!hasErrors != false) == true)
return true;
else
return FILE_NOT_FOUND;
}Not enterprisey enough! You need this:
public EnterpriseBoolean HasNoErrors()
{
EnterpriseBoolean hasErrors = new EnterpriseBoolean(HasErrors(), EnterpriseBooleanConfiguration.DoNotInvert);
if (hasErrors.GetFalsitudinousness() > 0)
return EnterpriseBoolean.MaximumFalsitudinousness;
else if (hasErrors.GetFalsitudinousness() == 0)
return EnterpriseBoolean.ZeroFalsitudinousness;
else
return EnterpriseBoolean.TruerThanTrue;
}try { // get factory from factory factory AbstractHasErrorsWebServiceClientFactoryImpl factory = AbstractHasErrorsWebServiceClientFactoryFactoryImpl.getAbstractHasErrorsWebServiceClientFactoryImplInstance(); } catch (AbstractHasErrorsWebServiceClientFactoryNotFoundException e) { .... } // get client from factory try { HasErrorsWebServiceClientImpl client = factory.getHasErrorsWebServiceClientImplInstance(); } catch (HasErrorsWebServiceClientNotFoundException e) { .... } // XML serialize object and send it to HasErrors WS to check for errors try { client.sendRequest(this); } catch (HasErrorsWebServiceClientHttpException e) { .... } catch (HasErrorsWebServiceClientInvalidArgumentException e) { .... } try { HasErrorsWebServiceClientResponseImpl response = client.receiveResponse(); } catch (HasErrorsWebServiceClientHttpException e) { .... } return response.getHasErrorsValue();
-
Use a SOAP call.
-
@dhromed said:
Use a SOAP call.
Everybody knows SOAP is too lightweight and non-extensible for Enterprise use.
-
@Sutherlands said:
This still isn't abstract enough.@C-Octothorpe said:
If by "worse" you mean "doesn't even work" then yes, you made it worse.HA! I bet you thought it couldn't possibly be any worse, but I did it!! Mwahahahaha...
public bool HasNoErrors()
{
bool hasErrors = HasErrors();
if (hasErrors == false)
return false;
else if ((!hasErrors != false) == true)
return true;
else
return FILE_NOT_FOUND;
}
public bool HasNoErrors() { if(HasErrors() == false) return true; if(!NoErrors() == false) return true; return FILE_NOT_FOUND; }
-
That's why I love scripting languages. Javascript FTW:
var a = FILE_NOT_FOUND;
var func () {return a; }
var hasErrors = function (a, b) {
if (!!!a) {
b();
}
return a;
}hasErrors(error, func)
Where error is an Object, a string (which may be an error (or success!) message or just an empty string), a null or an undefined variable.