重构实施

时间:2013-02-26 23:29:28

标签: c++ design-patterns

我正在重构一个执行kmean聚类的C ++代码。有两个版本的代码:

  1. 普通kmean
  2. 功能对齐群集:使用稍微不同的距离度量和更新规则。
  3. 我应该如何有效地实施?方法重载(虽然这不依赖于输入)

    好的,这是做kmean聚类的伪代码。我需要实现两个版本的距离和更新功能。

    int* kmean_clustering(vector<double[10]> data)
    // each row of data hold one data point
    // so we have M data points of 10 dimension
    {
        // Split codebook
        // Assignment step
        Find the closest codebook based on distance(distance here can be Euclidean, Mahalanobis, .....)
        //Update step
    }
    

1 个答案:

答案 0 :(得分:2)

写得好的代码就像读一本好小说。这就是Knuth称之为编程艺术的原因。 This book可能会教你自下而上的重构方法。