Click here to Skip to main content
15,889,808 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: False selection... Pin
lordofawesome12-Oct-10 8:26
lordofawesome12-Oct-10 8:26 
GeneralRe: False selection... Pin
waldemar.sauer@aitmetis.com12-Oct-10 8:44
waldemar.sauer@aitmetis.com12-Oct-10 8:44 
GeneralRe: False selection... Pin
lordofawesome12-Oct-10 8:49
lordofawesome12-Oct-10 8:49 
GeneralRe: False selection... Pin
waldemar.sauer@aitmetis.com12-Oct-10 9:06
waldemar.sauer@aitmetis.com12-Oct-10 9:06 
GeneralRe: False selection... Pin
lordofawesome12-Oct-10 9:16
lordofawesome12-Oct-10 9:16 
GeneralRe: False selection... Pin
calamus7712-Oct-10 17:55
calamus7712-Oct-10 17:55 
GeneralRe: False selection... Pin
lordofawesome12-Oct-10 23:24
lordofawesome12-Oct-10 23:24 
GeneralRe: False selection... Pin
calamus7714-Oct-10 15:14
calamus7714-Oct-10 15:14 
Ah, I see, so your main point was simply that using boolean conditions in ifs and then returning boolean is nonsensical. That's fair enough, so long as the operations aren't expensive and/or aren't frequent. Sometimes, as others pointed out, you do need to exit early for performance (i.e. if checking refresh rate is expensive and called frequently, then you would definitely not want to do it your way). Personally, though, I was more focused on the advantages of breaking things into methods than on the ifs.

So, more on my point of breaking it into methods, but also taking into consideration your main point...methods can meet your criteria...but additionally, meet the performance criteria of many of the other posters, e.g.

public boolean displayModesMatch( DisplayMode mode1,
    DisplayMode mode2 )
{
    DisplayModeAnalyzer analyzer = new DisplayModeAnalyzer( mode1, mode2 );

    return analyzer.dimensionsEqual() && analyzer.depthEqual() 
           && analyzer.refreshRateEqual();
}


By breaking it into methods and doing it this way it's still very readable, it meets your conditions of not having ifs to surround boolean returns, and it also satisfies the point that others had about checking all the conditions at the beginning of the method can reduce performance. If the dimensions are not equal, it will return false immediately without checking depth or refresh rate...thus slightly less expensive than checking all the conditions at the beginning of the method.

Thus, this has the same fail-early/"good performance" of the original "coding horror" you posted, while at the same time having the simplicity of your solution.

Kevin
GeneralRe: False selection... Pin
werD13-Oct-10 3:54
werD13-Oct-10 3:54 
GeneralRe: False selection... Pin
lordofawesome13-Oct-10 6:42
lordofawesome13-Oct-10 6:42 
GeneralRe: False selection... Pin
Member 451724015-Oct-10 2:39
Member 451724015-Oct-10 2:39 
GeneralRe: False selection... Pin
lordofawesome15-Oct-10 4:17
lordofawesome15-Oct-10 4:17 
GeneralRe: False selection... Pin
supercat911-Oct-10 8:30
supercat911-Oct-10 8:30 
GeneralRe: False selection... Pin
Phil J Pearson11-Oct-10 1:50
Phil J Pearson11-Oct-10 1:50 
GeneralRe: False selection... Pin
David Skelly11-Oct-10 1:53
David Skelly11-Oct-10 1:53 
GeneralRe: False selection... Pin
lordofawesome11-Oct-10 4:28
lordofawesome11-Oct-10 4:28 
GeneralRe: False selection... Pin
PIEBALDconsult11-Oct-10 15:44
mvePIEBALDconsult11-Oct-10 15:44 
GeneralRe: False selection... Pin
ghle12-Oct-10 16:09
ghle12-Oct-10 16:09 
GeneralRe: False selection... Pin
ghle12-Oct-10 16:28
ghle12-Oct-10 16:28 
GeneralRe: False selection... Pin
_Erik_15-Oct-10 5:19
_Erik_15-Oct-10 5:19 
GeneralRe: False selection... Pin
ghle17-Oct-10 14:45
ghle17-Oct-10 14:45 
GeneralRe: False selection... [modified] Pin
_Erik_18-Oct-10 2:06
_Erik_18-Oct-10 2:06 
GeneralRe: False selection... Pin
ghle19-Oct-10 1:36
ghle19-Oct-10 1:36 
GeneralRe: False selection... [modified] Pin
_Erik_19-Oct-10 2:10
_Erik_19-Oct-10 2:10 
GeneralRe: False selection... Pin
AspDotNetDev11-Oct-10 6:38
protectorAspDotNetDev11-Oct-10 6:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.