您更喜欢这两种编程风格中的哪一种?为什么?一个人对另一个人有特别的好处吗?
// Style 1
if (doBorder)
doTheBorder();
if (doFrame)
doTheFrame();
if (doDraw)
doTheDraw();
void doTheBorder()
{
// ...
}
void doTheFrame()
{
// ...
}
void doTheDraw()
{
// ...
}
// Style 2
doTheBorder();
doTheFrame();
doTheDraw();
void doTheBorder()
{
if (!doBorder)
return;
// ...
}
void doTheFrame()
{
if (!doFrame)
return;
// ...
}
void doTheDraw()
{
if (!doDraw)
return;
// ...
}
答案 0 :(得分:2)
第一个。第二个似乎是......缺乏自信。如果您甚至不知道是否要完成边框,为什么要致电doTheBorder()
? IMO,你应该断言边界确实需要做,然后然后充满信心地呼叫doTheBorder()
!
...另外,从更技术的角度来看:如果doTheBorder()
位于封闭的API中,那么遥远未来的开发人员可能会调用它,如果使用第二种样式,他们可能想知道为什么尽管他们打电话给doTheBorder()
,边界仍未完成。当然,有时某些情况或限制或限制可能会要求使用第二种风格,但我会尽可能避免使用它。