假设我有一个List<SomeObject>,并且有一个函数可以返回该对象引用。
SomeObject GetSomeObject(List<SomeObject>, int x){
/* Search for object in list that has a properties
with value x */
if (found)
return /* The object found */
else
return NULL;
}
void DoSomething(SomeObject S){
if(S!=NULL){
/* Do action 1 */
}
else{
/* Do action 2 */
}
}我在某处读到过返回NULL不是干净代码的一部分。所以我想知道这个例子的等效代码是什么。
更新:我读过this question,我觉得我的情况有所不同。在这种情况下,如果返回NULL,则不执行任何操作,而如果返回NULL,则需要执行一些操作
发布于 2015-04-28 19:34:37
您可以考虑的一种常见方法是Null Object Pattern。
您返回的不是NULL,而是一个正确对象类型的实例,当您调用它的方法时,它什么也不做。它并不适合所有的情况,但它值得考虑。
https://stackoverflow.com/questions/29918073
复制相似问题