5
何时何地应使用void(而不是例如bool / int)
我偶尔会碰到一些方法,开发人员选择返回一些对函数不重要的东西。我的意思是,当看代码时,它显然void和一样好,并且经过一会儿思考,我问“为什么?” 这听起来很熟悉吗? 有时我会同意,通常最好返回一个诸如boolor的值int,而不是仅仅做一个void。从总体上看,我不确定优缺点。 根据情况,返回int可以使调用方知道受该方法影响的行或对象的数量(例如,将5条记录保存到MSSQL)。如果“ InsertSomething”之类的方法返回布尔值,那么我可以将设计为true成功的方法返回,否则返回false。呼叫者可以选择对该信息采取行动或不采取行动。 另一方面, 会导致方法调用的目的不明确吗?错误的编码经常迫使我仔细检查方法的内容。如果返回某些内容,它将告诉您该方法的类型必须对返回的结果进行某些处理。 另一个问题是,如果您不知道方法的实现,那么开发人员决定返回什么功能并不关键的东西?您当然可以发表评论。 当处理可以在方法的右括号中结束时,必须处理返回值。 引擎盖下会发生什么?调用的方法是否false由于抛出错误而得到?还是由于评估结果而返回false? 您对此有何经验?您将如何处理?