编程风格:编写新函数或扩展现有函数



假设,我有一个带有图像字段和函数"getImageWidth(("的表单,用于检查图像宽度。一段时间后,我向表单添加了一个新的移动图像字段,我想知道,编写函数来检查移动图像宽度的最佳实践是什么 - 扩展旧的函数"getImageWidth(("(通过添加参数isMobileImage(或编写新的"getMobileImageWidth(("函数?这个新函数的代码几乎与旧函数相似。你有什么意见? 谢谢

我认为,getMobileImageWidth()将是更好的选择。例如,Martin Fowler的博客中有主题删除标志参数。在他的书《重构:改进现有代码的设计》中,他写了下一条声明:

我不喜欢标志参数,因为它们使理解什么的过程复杂化 函数调用可用以及如何调用它们。我进入 API 的第一条途径通常是 可用函数列表和标志参数隐藏函数中的差异 可用的呼叫。一旦我选择一个函数,我必须弄清楚什么是值 可用于标志参数。布尔标志更糟糕,因为它们不传达 它们对读者的意义——在函数调用中,我无法弄清楚 true 是什么意思。它 更清晰地为我想做的任务提供显式功能。

我认为这正是您所需要的。

最新更新