我是否使用稍微不同的算法创建重复函数,或使用更慢,更通用的函数?

时间:2011-07-20 20:12:43

标签: performance language-agnostic

我一直是DRY原则的倡导者:换句话说,只编写一次代码。我有一个功能,基本上通过“最新的独特报告”过滤掉数据。在我的算法中,该函数假定传入的数据已经排序,使其非常有效。但是,此功能可能必须处理未排序的数据。更好的做法是:有一个通用的解决方案会更慢,或者有两个稍微不同的功能,一个更有效率?

编辑:我应该注意,虽然性能是一件好事,但它对于应用程序并不重要,因为它是一个内部工具。

1 个答案:

答案 0 :(得分:3)

你说它的方式听起来好像你可以创建一个对数据进行排序的函数,然后将其放入过滤函数中。

所以

function filterData(object data)
{
    ...
}

function sortAndFilterData(object data)
{
    // Do sorting
    ...
    // Filtering
    filterData(data);
}