我正在阅读,编程:使用C ++的原则和实践,Bjarne建议避免过度使用括号。是否有一种雄辩的方式来构造以下if语句?这是我的代码:
bool is_valid(string s)
{
if(!(s.size()>=8)) throw invalid_argument("Username must be 8 char or more");
return true;
}
答案 0 :(得分:2)
功能的设计很糟糕。它总是返回true
,并且不清楚它为什么抛出异常。
我应该看起来像
bool is_valid( const string &s )
{
return s.size() >= 8;
}
或
bool is_valid( const string &s )
{
const std::string::size_type acceptable_size = 8;
return s.size() >= acceptable_size;
}