none
一个字符串集合,需要检查各字符串是否合规,用什么方法优化比较好? RRS feed

  • 问题

  • 有字符串集合strList,需要检查各字符串是否合规(检查各字符串规则的方法有80个以上,复杂度各不相同),如果有一个不合规则抛弃。

    现在的情况是把集合传入到每个方法,如果不合规,则移除。

    请问有没有更好的方法可以优化?

    现在的情况是

     method1(strList); 

     method2(strList);

     method3(strList);

    .......................

    method85(strList);



    2014年9月24日 1:26

答案

  • 如果想加快验证的速度的话多线程是不错的选择,但前提是接口的验证要支持线程安全,不然你用多线程去同时调用他们的接口有可能出现异常。

    说实话,接口方提供80个方法来给开发者调用,这本身就不是很好的设计。我觉得如果80个方法的总体执行效率在接受范围之内的话,可以直接先封装一下80个方法,只接收一个字符串进行校验,然后对字符串列表进行遍历校验。

    至于有没有更好的算法来加速这种校验,我觉得你可以到一些算法方面的论坛去问问,我暂时还想不出更好的办法。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.



    2014年9月26日 3:19
    版主

全部回复

  • 你好:

    对字符串的校验推荐使用正则表达式:

    正则表达式语言 - 快速参考

    如果需要同时满足多个表达式的话,可以使用其中的"零宽度正预测先行断言",也就是(?=表达式),比如

    (?=表达式1)(?=表达式2)(?=表达式3)...

    关于如何在C#中使用正则表达式,请参考:

    Regex 类


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2014年9月24日 8:16
    版主
  • 你好,是我没有表达清楚.不仅是格式验证,还有各种加密编码测试.

    而且验证字符串是否符合规则的方法,是接口方已经写好的组件.我们不能修改.

    其实,我是觉得,是不是可以用什么线程或并行的方法去优化.

    只有一个想法,没有想到一个是否可行的思路.也不知道行不行.

    暂时是这么想:

    如有1000个字符串

    取前500个字符串 Group1给Method(1-40)

    取后500个字符串Group2给Method(41-85)

    分两个线程来调用.

    然后再交换Group1 Group2 再验证.

    最后再合并Group1,2

    不知道行不行.

    • 已编辑 hychx 2014年9月24日 15:38 没表达完整
    2014年9月24日 15:31
  • 如果想加快验证的速度的话多线程是不错的选择,但前提是接口的验证要支持线程安全,不然你用多线程去同时调用他们的接口有可能出现异常。

    说实话,接口方提供80个方法来给开发者调用,这本身就不是很好的设计。我觉得如果80个方法的总体执行效率在接受范围之内的话,可以直接先封装一下80个方法,只接收一个字符串进行校验,然后对字符串列表进行遍历校验。

    至于有没有更好的算法来加速这种校验,我觉得你可以到一些算法方面的论坛去问问,我暂时还想不出更好的办法。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.



    2014年9月26日 3:19
    版主