2011-05-24 48 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

的代碼僅定位到該頁面,無論變量的函數之前,如果這是函數的意圖那麼它是正確的,但不好實施,因爲它之前的循環,一切都是冗餘的。也許這個廣告是一個尋求幫助的呼籲,因爲代碼有問題,公司希望聘請有能力的開發人員來糾正已經僱傭的人的錯誤。