首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于某些关键字检查文件类型的函数

基于某些关键字检查文件类型的函数
EN

Code Review用户
提问于 2015-07-16 06:58:49
回答 1查看 67关注 0票数 1

我有一个函数,它分解源文件,并根据关键字列表检查每个令牌,以确定它是否是特定的文件类型。如何改进这个函数?Tokenization是一个包含分解源代码的函数的类。

代码语言:javascript
复制
public static boolean validationTypeOfSQL(String sourceFile, Tokenization tokenization,ArrayList<String> uniqueKeywordList) {
    ArrayList<Token> createSourceCodeTokens = tokenization.createSourceCodeTokens(sourceFile);

    for (Token x : createSourceCodeTokens) {
        String smallerTokens[] = tokenization.tokenToSmallerToken(x.getToken());
        for (String smallerTOkenValue : smallerTokens) {
            Boolean result = smallerTOkenValue.contains(",");
            if (result == true) {
                String[] tokenSplit = smallerTOkenValue.split(",");
                for (String ts : tokenSplit) {
                    for (String t : uniqueKeywordList) {
                        if (t.toLowerCase().equals(ts.toLowerCase().replace("(", "").replace(",", "").replace(")", "").replace("\t", ""))) {
                            // System.out.println("This is a mysql file Mysql");
                            return true;
                        }
                    }
                }
            }
            else {
                for (String uniqueKeyword : uniqueKeywordList) {
                    if (uniqueKeyword.toLowerCase().equals(smallerTOkenValue.toLowerCase().replace("(", "").replace(",", "").replace(")", ""))) 
                    {
                        return true;
                    }
                }
            }
        }

    }
    return false;
}
EN

回答 1

Code Review用户

发布于 2015-07-18 21:42:04

关于你的名字:

我想重命名:

  1. validationTypeOfSQL()isSQL()
  2. createSourceCodeTokenssourceCodeTokens
  3. createSourceCodeTokens()sourceCodeTokens()
  4. xtoken
  5. tokenToSmallerToken()smallerTokens()
  6. smallerTOkenValuesmallerToken
  7. result to containsComma (当然,根据Robert的回答,完全删除它更好)。
  8. tokenSplitsplitTokens
  9. tsstsplitToken
  10. tkkeyword
  11. uniqueKeywordkeyword

我会把String smallerTokens[]改成String[] ...。不管怎么说,当你写完它的时候,你要写4行。

我将使用replaceAll(字符串正则表达式,字符串替换)replaceAll("[(,)\t]", ""),而不是replace()链。

票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/97095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档