@lemon94 最重要是要把逻辑隔离出来,最完全的隔离是所有 if else 串的 if (...) 和 {...} 的部分都应当是一个具有有意义的名字的 function call 或者 method call 。尤其 if (...) 最好不要有运算,最多 if ((name = value) == another_value)
而且这样的代码运行效率会很可能变高(假设不内联): if (longCondition1()) {longOperation1()} else if ... else {longOperationN()} 因为你要把这些东西内联进去这段代码很可能会超过缓存大小,再从更低速的缓存甚至内存里刷进缓存的话效率就低了。