我有一段代码可以解析一些晦涩的文本文件。
该文本文件可以包含各种关键字。在某些时候,有一些冗长的部分是这样的:
void loadKeywords() {
tmpString = getValueForKeyword("width");
if (tmpString != NULL) {
/* do something for several lines */
}
tmpString = getValueForKeyword("height");
if (tmpString != NULL) {
/* do something for several lines */
}
/* and so on a few dozen times */
}
这些字符串
"height"
和 "width"
只在这段代码中使用过。不过,我想知道使用定义的字符串常量是否会更好,例如#define KEYWORD_WIDTH ("width")
而不是上面代码中的那些文字。
你会怎么办?
最佳答案
在不提取常量的情况下开始。然后,如果您稍后出于某种原因需要它,您的编辑器可能会为您执行此操作。
但是,如果您认为它会提高代码的可读性,那么您可以使用常量。如果您可以通过这样做添加更多语义含义,请执行此操作:
BROWSER_WIDTH = "width"
CONNECTION_POOL_MAX_SIZE = "max_size"
关于string - 即使字符串只使用过一次,我是否应该使用常量而不是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4234129/