api設計時,返回值的問題

2021-09-30 16:25:57 字數 464 閱讀 8851

常見的兩種方式的介面,你會選擇哪一種?

(1)public boolean  updatexx(mypojo pojo) ;

public boolean send(message msg);

(2)public void updatexx(mypojo pojo) throw myexception ;

public void send(message msg) throw myexception ;

(1)中的介面,返回乙個boolean,使用者可以有選擇地根據返回值進行不同的處理。但在使用過程中。大家通常會忽略其返回值,增加了風險,可能會造成操作失敗了,卻無法察覺。

(2)中介面語義比較明確,失敗就拋異常出去,並且異常裡通常會帶上很多的資訊。

在契約程式設計裡,提到要區分查詢與命令,如果是命令,通常是void的,有問題直接拋異常出去。

個人認為,大多數情況下,選擇(2)介面的方式比較靠譜。

ExecuteNonQuery 返回值問題

關於sqldatacommand.executenonquery 方法 msdn曰 可以使用executenonquery執行編錄操作 例如查詢資料庫的結構或建立諸如表等的資料庫物件 或通過執行 update insert 或 delete 語句更改資料庫中的資料。雖然executenonquery...

返回值優化問題

近來看到小李子寫了篇blog,題目為返回值優化。文章如下。return integer left.i right.i 建立乙個臨時物件並返回他,不會呼叫析構函式,效率高。interger tmp left.i right.i return tmp 建立了區域性物件,有析構函式。這裡感覺有些詭異。於是...

thinkphp CURD 返回值問題

thinkphp的資料寫入操作使用add方法,使用示例如下 user m user 例項化user物件 data name thinkphp data email thinkphp gmail.com result user add data 操作完成後如果寫入結果 result資料非法則返回fal...