2010-10-25 52 views
0

我今天在coding horror處發現了「FizzBu​​zz」問題。偉大的文章。然而,事中的用戶評論一個搞糊塗了 - 這裏的報價:FizzBu​​zz評論讓我困惑 - 硬編碼條件錯了嗎?

吉茲傢伙 - 你們每個人誰給 示例代碼 - EVERY ONE - 硬編碼 嘶嘶聲和BUZZ條件.. 。

這聽起來好像這個海報嘲笑人的「硬編碼」的條件,即:

if(i % 3 == 0) 
... 

什麼是點海報試圖做什麼呢?是否有另一種方式來指定程序中的條件?

感謝您花時間!

嘶嘶聲和BUZZ條件...

+3

評論者只是說,解決方案硬編碼的「三倍和五倍」條件的倍數。如果我們想要「四倍和九倍」呢? – 2010-10-25 18:03:53

+0

你要找的答案有多荒謬?你想要一個3層的解決方案,'i%3'作爲可配置的業務邏輯嗎? – Kobi 2010-10-25 18:23:24

+1

科比 - 這真的是我的問題 - 我不知道這個答案真的有多荒謬 - 否則我不會打擾天才:) – 2010-10-25 18:29:41

回答

2

嘶嘶聲巴斯的一點是要快速淘汰非程序員,沒有找到最好的程序員。符合規格的任何合理功能都可以用於此測試。

如果你沒有硬編碼,太好了,你超過。但是,這並不能讓你擺脫下面的困難問題。我通常會增加每個問題的難度,但如果候選人完全不能回答簡單問題,我不想浪費時間。

2

對某些條件進行硬編碼沒有任何問題。

在面試的背景下,當我知道我正在編碼FizzBu​​zz.java而不是企業Fizz Buzz時,需要一個數據庫和1000個以上同時需要5個9正常運行時間的用戶,這是對這些條件進行硬編碼的理想選擇。入門級程序員,您至少要求FizzBu​​zz的人應該遵循規範,並儘可能簡化和優雅地制定解決方案。如果你是一個靈活的軟件公司,包括這些功能對YAGNI不利,應該不鼓勵。如果面試官沒有要求使用除了三分之五和其他因素以外的其他因素的能力,那麼它不在規範中,因此不是必需的。

0

這是一個笑話。