需要本地化的string是不应该被hardcode的,所以想找款工具来分析源代码,检测出所有不合理的hardcode 但有些hardcode是合理的, 如Debug.Asset( .., ""),希望能够通过自定义规则跳过“特定方法”的检测,有些人为地在string前加上/*hardcode*/也希望能被跳过
并且并不是所有的文件都需要被检测的,希望也能过滤掉某些类型的文件。不知是否存在这样的免费工具(*^__^*) 

解决方案 »

  1.   

    Visual Studio的团队版本(Team Edition)带有代码分析(code analysis),
    你也可以下载FxCop来做分析(VS也用FxCop)。在FxCop中找找看有没有你要的规则,如果没有的,你甚至可以写一个自定义规则。
      

  2.   

    StyleCop 和 FxCop主要用于检测代码风格, 貌似没有专门用于检查hardcode的规则,
    如果从头开始定义这些规则,那没必要用stylecop吧。 完全可以自己写个小工具,读文件自己分析。 主要考虑这个工作量挺大的,还不一定能搞得定,
    看看有没有现成的先。
      

  3.   

    fxcop 里面有检查本地化是否hardcode的东东。
    你反编译下fxcop的GlobalizationRules下的DoNotHardcodeLocaleSpecificStrings就知道了。
    下面这些事全部她能够坚持的hardcode:
                CacheString("Start Menu");
                CacheString("All Users");
                CacheString("Documents and Settings");
                CacheString("SendTo");
                CacheString("My Music");
                CacheString("Application Data");
                CacheString("Common Files");
                CacheString("My Documents");
                CacheString("WINNT");
                CacheString("Temporary Internet Files");
                CacheString("Local Settings");
                CacheString("system32");
                CacheString("SysWow64");
                CacheString("Program Files (x86)");
                CacheString("Program Files");