常見的兩種方式的介面,你會選擇哪一種?
(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...