2011-05-24 30 views
1

我读线的杂志2011年6月发行的一天,我穿过路易斯安那州经济发展的广告,想必ActionScript编写出来。路易斯安那州经济发展广告中的错误?

我原本以为这是一个聪明的广告,但寻找到它之后,它看起来像有代码中的一个相当明显的错误。

LED Ad

难道只是我,或者应该说breakreturn

+1

是的,我认为你是对的。 – MRAB 2011-05-24 17:59:13

+6

这应该是一个回报,除非这个想法是,无论创新者是否有任何列出的兴趣,他们仍应该去列出的URL ......但这不是唯一的错误。显然,他们不能决定他们是写AS2还是AS3,因为小写的void和uint的存在表示AS3,但navigateToURL只存在于AS2中。另一方面,也许他们已经在代码中的其他地方声明了一个函数,其名称为navigateToURL,没有怀旧感。 – scriptocalypse 2011-05-24 18:00:13

+0

我认为你可能只是他们想在路易斯安那寻找机会的那种人 - //你有机会吗?再一次,也许这不是一个错误,他们只是想让每个人都看看路易斯安那州的机会。 – 2011-05-24 18:04:59

回答

0

我称之为一个错误,因为期望的结果很可能是,如果这些利益中的任何一个举办导航到URL,什么也不做,如果他们都不是。因此,我将在逻辑更改为以下(忽略暂时从scriptocalypse评论中提到的问题):

if (this.innovator.hasInterestIn(interest[i])){ 
    navigateToURL("www.OpportunityLouisiana.com/digital"); 
    return; 
} 

当然,这不会看在广告一样好,因为URL不会显着地显示在代码的底部。也许更好的选择是像这样组织逻辑循环:

if (this.innovator.hasInterestIn(interest[i])){ 
    break; 
} else if (i == n-1){ 
    return; 
} 
+0

我不同意,如果所有三个都是真实的,那么所需的结果可能是导航到URL,而不仅仅是其中之一。否则,循环在新的层面上就错了。 – vakio 2011-05-25 08:54:06

+0

@vakio:你说得很好。如果是这样的话,那么'break;'一定是'return;'。 – gnovice 2011-05-25 14:05:03

1

不会称之为一个bug不亚于错误的逻辑...突破将让你跳出循环,但如果你输入你导航到该网址的功能,无论你感兴趣的所有这些事情与否。

+6

“不会像错误的逻辑那样称它为错误......” - 我在接下来的错误会议中使用它。 – 2011-05-24 18:08:20

+1

是的......在我发布这篇文章后,我想到自己,错误的逻辑导致意想不到的后果几乎构成了一个错误。 – 2011-05-24 19:13:01

+0

按预期工作 – Falmarri 2011-05-25 21:01:19

0

是的,这应该是一个回报。现在,随着代码的立场,即使用户没有任何兴趣,navigatetoUrl也会触发。

0

的代码仅定位到该页面,无论变量的函数之前,如果这是函数的意图那么它是正确的,但不好实施,因为它之前的循环,一切都是冗余的。也许这个广告是一个寻求帮助的呼吁,因为代码有问题,公司希望聘请有能力的开发人员来纠正已经雇佣的人的错误。