我枚举了不到 32 个绝对矩形大小,我需要给定尺寸并在枚举中找到最佳近似值。
有没有比我用大量嵌套if
的 's 和else
's 制定的意大利面条代码更好(即更具可读性和可维护性)的方法?
目前我刚刚:
enum imgOptsScale {
//Some relative scales
w005h005 = 0x8,
w010h010 = 0x9,
w020h020 = 0xA,
w040h040 = 0xB,
w070h070 = 0xC,
w100h100 = 0xD,
w150h150 = 0xE,
w200h200 = 0xF,
w320h320 = 0x10,
w450h450 = 0x11,
w200h010 = 0x12,
w200h020 = 0x13,
w200h070 = 0x14,
w010h200 = 0x15,
w020h200 = 0x16,
w070h200 = 0x17
};
imgOptsScale getClosestSizeTo(int width, int height);
我想在我深入编码之前寻求帮助。我应该强调远离过于复杂的库的偏见,尽管我对算法比容器更感兴趣,容器应该在资源受限的系统上运行。