上次文章裡談了介面和bug問題。 繼續談談我對這個淺薄的認識。這裡繼續談一下技巧(示例工程 trace 在開發中起到重要的作用。 但是似乎還是不夠的。 我們需要更好的debug工具。 開發中, 錯誤是無法預知的。 那麼我們需要知道跟蹤程式執行時刻的流程, 而不是你去猜想程式到底怎麼執行, 這樣是十分低效的。我們需要開發乙個debug工具, 來記錄每次執行時的情況, 一看記錄檔案, 錯誤就一目了然。 比如類的構造和析構函式加上debug日誌, 記錄類的new和delete. 又如記錄函式的返回值,很快能發現, 那個函式呼叫失敗了等等。
下面是debug日誌檔案內容
debug: css_remindmanager::getinstance [110-1-25 9:12:10]
debug: css_remindmanager::getinstance: new minstance [110-1-25 9:12:10]
debug: css_remindmanager::css_remindmanager [110-1-25 9:12:10]
debug: css_remindmanager::addremind [110-1-25 9:12:10]
debug: css_remindmanager::addremind: create a doremind [110-1-25 9:12:10]
debug: css_remindmanager::createdoremind(...) [110-1-25 9:12:10]
debug: css_doremind::css_doremind [110-1-25 9:12:10]
debug: css_remindmanager::createid [110-1-25 9:12:10]
debug: css_remindmanager::addremind: get a id=0 [110-1-25 9:12:10]
debug: css_remindmanager::addremind [110-1-25 9:12:10]
介面#define css_assert(x) /
do while(0)
#ifdef css_nlogging
#define css_return(y) dowhile(0)
#define css_debug(x) do{}while(0)
#define css_error(x) do{}while(0)
#define css_error_return(x, y) dowhile(0)
#else
#define css_return(y) /
do while(0)
#define css_debug(x) /
do while(0)
#define css_error(x) /
do while(0)
#define css_error_return(x, y) /
do while(0)
#endif
class css_utility_exports css_logger
;
那些 問題和bug
1sdf時間格式 yyyy mm dd hh mm ss 錯寫 為hh會導致缺少8h。時區問題,同樣會導致缺少8h誤差 可以在jvm啟動時設定 時區 duser.timezone asia shanghai string 物件的 intern 方法,呼叫時,如果當前string 字串已經在常量池中了...
java介面示例
介面示例 package auto.test public class rerridingtest public static void test string tool,string a,string b,string c catch exception e class plane impleme...
介面原型設計示例
進入詳細設計階段後的乙個重要任務是對業務方法進行設計,如果業務邏輯是封裝到事務指令碼方法中的,那就簡單得多了,即根據介面可設計得到事務指令碼業務方法。很多事情都是說起來容易,做起來難,下面我結合乙個簡單的例項,說明業務方法的設計過程。一 先貼出介面原型設計圖,具體操作圖中已經標註得非常清楚了,我不再...