在网页项目中用“鸭子”进行设计和调试

Avatar of Daniel James
Daniel James

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 价值 200 美元的免费积分!

如果您关注网页开发和设计行业的术语,您很可能至少一两次遇到过“鸭子”这个词。 除了给它们喂面包很有趣之外,网页行业中的“鸭子”至少有 *两种完全不同的含义*。

调试

其中之一被称为 **橡皮鸭调试**,就是当你向一个橡皮鸭玩具解释你的问题时。 在这样做的过程中,您将找到解决方案,而无需打断任何其他人。 方便吧? 这种技术确实有效,但您必须有理解您在对玩具说话时在做什么的同事。

抛开玩笑,它确实在调试代码中引入了一些技巧。 首先,通过彻底解释它,确保您了解当前问题。 其次,它使您将问题分解成块,以便您可以正确地分析它。 此外,它将增强您的沟通能力,使您能够自信地描述问题或重现步骤,如果您必须与真实的人进行交流的话。

设计

另一个含义是指在设计或代码中 **放置一只鸭子**。 我发誓,只有网页设计师和开发者才能想出这种东西。 为了提供一些背景信息,Jeff Atwood 发表了一篇文章 讨论了互联网术语,其中包含一些关于该短语的背景故事,解释了一位设计师和一位过度热情的项目经理,引用一下

负责为《战斗象棋》制作皇后动画的艺术家意识到这种倾向,并想出了一个创新的解决方案。 他以他认为最好的方式制作了皇后的动画,增加了一点:他给皇后一只宠物鸭子。 他在皇后的所有动画中都为这只鸭子制作了动画,让它在角落里拍打翅膀。 他还非常小心地确保它永远不会与“实际”动画重叠。

最终,到了制作人审核皇后的动画集的时间。 制作人坐下来观看所有动画。 看完之后,他转向艺术家说:“看起来很棒。 只有一件事——去掉那只鸭子。”

游戏图片鸭子图标 的版权归属。

放置一只鸭子的想法很棒,尤其是当你确信有人会想要留下自己的印记,在项目中至少修改一项东西。 这将允许您创建一个与简报相符的项目,并实施一个安全措施,将注意力从最终的的核心产品上转移开。 这也是一个非常棘手的举动。 由于该策略的性质,鸭子很可能被忽视,实际上会保留在产品中,直到您将其移除,这与最初的想法完全相反。 您需要确保它被找到。

在网上搜索“鸭子”灵感,看看你可以在你正在进行的工作中实施什么,也是不可能的。 因为所有“鸭子”在任何东西发布后都不复存在,所以示例是不可能的,而那些在发布后幸存下来的“鸭子”,它们将隐藏在显眼的地方,不容易被发现。

但这确实引出了一个问题,如果你需要诉诸这种设计技巧,你是否应该做一些不同的事情?

放置“鸭子”也可以应用于开发实践,尽管可以通过完全不同的方式进行,例如调用一个在任何地方都没有使用的 API,或者创建一个函数,输出它所提供的数据,而不会以任何方式对其进行更改。 例如,很容易看到一个“鸭子”出现在徽标上,但除非您在核心文件中使用 ASCII 艺术,否则很难在代码中放置一只“鸭子”。

不再有鸭子

您是否使用过“鸭子”战术?

就我个人而言,我没有在任何东西中放置过任何你可能认为是“鸭子”的东西,但我确实在这里和那里添加了一些奇怪的“彩蛋”,例如,如果有人看到它,就会出现一个有趣的 404 错误页面,以及在 URL 末尾添加一个关键词,可能会略微改变页面布局或设计。 从根本上说,在产品中添加“鸭子”并不一定是一件坏事,只要它不会分散注意力或偏离您正在制作的东西的原始目的,*并且它们被找到并删除*。 如果我们不需要使用这种技巧,那就太好了,但那是在理想的世界里。 在此之前,我们只能满足于“鸭子”。

最终,如果你必须诉诸在你的项目中“放置一只鸭子”,也许你需要重新审视你的工作流程,看看你能做些什么来确保任何监督或测试项目的人都不会尝试更改任何东西,使其偏离简报或规范。 我喜欢认为它背后的想法是一次天才之举,但它也让你意识到,有时候我们需要以非常有创意的方式反击过度热情的项目经理。