只要是对外部组件的补充,辅助程序就是一种无害的附加类或方法。如果相反,则表明设计不良,因为如果有任何权限,则代码已被排除在其权限之外。
这是一个无害助手的示例,我使用一种称为FindRep
前导零的数量的方法。
digits = digits.Remove(0, TextHelper.FindRep('0', digits, 0, digits.Length - 2));
辅助方法非常简单,但是非常难以复制粘贴,并且该框架未提供任何解决方案。
public static int FindRep(char chr, string str, int beginPos, int endPos)
{
int pos;
for (pos = beginPos; pos <= endPos; pos++)
{
if (str[pos] != chr)
{
break;
}
}
return pos - beginPos;
}
这是一个不好的帮手的例子:
public static class DutchZipcodeHelper
{
public static bool Validate(string s)
{
return Regex.IsMatch(s, @"^[1-9][0-9]{3}[A-Z]{2}$", RegexOptions.IgnoreCase);
}
}
public class DutchZipcode
{
private string value;
public DutchZipcode(string value)
{
if (!DutchZipcodeHelper.Validate(value))
{
throw new ArgumentException();
}
this.value = value;
}
public string Value
{
get { return value; }
}
}