# Why do it the easy way?

## Recommended Posts

I'm so happy we can vote up in this forum=-)

##### Share on other sites

Very good ideas for reafctoring in this thread, keep em coming.

##### Share on other sites
if (isActive == TRUE) {
return 1;
}
else if (isActive == FALSE) {
return 0;
}

##### Share on other sites

How about something akin to what I find in some of my companies legacy code:

ASSERT(isActive); // We should never be inactive so lets just assert in debug, it'll be fine in release

return TRUE;

##### Share on other sites

You have it easy, you are not maintaining legacy PHP code.

This is direct copy-paste from code currently in production.

Guess what is it doing. Hint: in function name.

function extract_where_from_join($on_condition) {$where_list = array();

$anal_list = array('="' => '"', '= "' => '"', "='" => "'", "= '" => "'");$anal_pos = FALSE;
$anal_end_pos = FALSE;$found_anal_from = FALSE;
$found_anal_to = FALSE; foreach ($anal_list as $anal_from =>$anal_to) {
$anal_pos = strpos($on_condition, $anal_from); if ($anal_pos !== FALSE) {
$found_anal_from =$anal_from;
$anal_end_pos = strpos($on_condition, $anal_to,$anal_pos + strlen($anal_from)); if ($anal_end_pos !== FALSE) {
$found_anal_to =$anal_to;
break;
}
}
}

if ($anal_pos !== FALSE &&$anal_end_pos !== FALSE) {
$anal_value = substr($on_condition, $anal_pos + strlen($found_anal_from), $anal_end_pos -$anal_pos - strlen($found_anal_from));$condition = 'and';
$not_space_bw_pos = strbipos($on_condition, $condition,$anal_pos);
if ($not_space_bw_pos === FALSE) {$where_list[] = array(trim(substr($on_condition, 0,$anal_pos)), $anal_value);$on_condition = substr($on_condition,$anal_end_pos + strlen($found_anal_to)); if ($on_condition === FALSE) {
$on_condition = 'TRUE'; } } else {$where_list[] = array(trim(substr($on_condition,$not_space_bw_pos + strlen($condition),$anal_pos - $not_space_bw_pos -strlen($condition))), $anal_value);$on_condition = substr($on_condition, 0,$not_space_bw_pos) . substr($on_condition,$anal_end_pos + strlen($found_anal_to)); if ($on_condition === FALSE) {
$on_condition = 'TRUE'; } } } return array($where_list, \$on_condition);
}

It turns out this is parsing SQL join statement and extracting it's condition to be used elsewhere as "where" condition. Talking about easy way?

Edited by Nercury

##### Share on other sites

Was gonna comment on the original topic, but what the— Abbreviations gone awry o_O And this is why you should avoid abbreviations except for a few well-estabilished ones...

As for the original topic, I find this a lot (and yes, with basic types, not classes which could have side-effects):

if (!blah)
blah = true;

This could have easily done the job:

blah = true;

##### Share on other sites

Was gonna comment on the original topic, but what the— Abbreviations gone awry o_O And this is why you should avoid abbreviations except for a few well-estabilished ones...

As for the original topic, I find this a lot (and yes, with basic types, not classes which could have side-effects):

if (!blah)
blah = true;

This could have easily done the job:

blah = true;

Unless it is dynamically typed language (like javascript):

var blah = "hello";
if (!blah)
blah = true;

// blah remains "hello"

blah = 15;
if (!blah)
blah = true;

// blah remains 15

blah = 0;
if (!blah)
blah = true;

// blah is true

I hate dynamically typed languages for allowing this.

##### Share on other sites

The examples of that I see are usually in C or C++ though...

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account

• ### Forum Statistics

• Total Topics
628296
• Total Posts
2981888

• 9
• 9
• 11
• 10
• 10