我今天在coding horror发现了“FizzBuzz”问题。好文章。但是,其中一个用户评论中的某些内容让我感到困惑 - 这就是引用:
Geez伙计们 - 你们每个人都给了 示例代码 - 每一个 - 硬编码 FIZZ和BUZZ条件......
听起来像这张海报是在嘲笑人们的“硬编码”条件,即:
if(i % 3 == 0)
...
海报试图制作什么?还有另一种方法来指定程序中的条件吗?
感谢您抽出宝贵时间!
丹
FIZZ和BUZZ条件......
答案 0 :(得分:2)
Fizz Buzz的目的是迅速淘汰非程序员,而不是找到最好的程序员。任何符合规范的合理功能都可以用于此测试。
如果你没有硬编码,那么,你要超越。但是,这并没有让你摆脱正在追随的难题。我通常会增加每个问题的难度,但如果候选人完全不能回答简单的问题,我不想浪费时间。
答案 1 :(得分:2)
硬编码某些条件并没有错。
在采访的背景下,当我知道我正在使用数据库编写FizzBuzz.java而不是Enterprise Fizz Buzz,并且1000个并发用户需要5个9的正常运行时间时,这是对这些条件进行硬编码的理想选择。
入门级程序员,至少你问FizzBuzz的人,是遵循规范并使解决方案尽可能简单和优雅。如果你是一个敏捷的软件公司,那么包括这些功能在内的YAGNI就不应该受到阻止。如果面试官没有要求使用除了三和五之外的其他因素,那么它就不在规范中,因此不需要。
答案 2 :(得分:0)
这是一个笑话。