原创 僞代碼編程過程

一、僞代碼 僞代碼的指導原則: 1、用類似的 英語來描述特定操作。 2、避免使用目標語言的語法來描述,僞代碼能讓你在一個比代碼更高的層次上進行設計。當用編程語言的語法來描述時,你的僞代碼設計就降到了一個更低的層次。 3、在意圖的層面上去

原创 ubuntu下安裝cunit

參考blog:http://blog.csdn.net/cupedy/article/details/74931938 1、下載cunit包 https://sourceforge.net/projects/cunit/ 2、安裝:

原创 google test 安裝

Google Test (libgtest) 是由谷歌開發的一款基於xunit框架的跨平臺單元測試框架,C#上的NUnit,Java的JUnit寫單元測試非常容易,也不乏可視化工具與IDE集成插件,深受喜歡測試區洞開發的程序員的喜愛。但對

原创 lua面向對象的2種私密性封裝

一、返回table local function newAccount( initCount) local self = { count = initCount} set = function( c)

原创 關於模板template的泛型參數的構造函數

#include <iostream> #include <cstddef> using namespace std; class alloc { public: alloc() { cout << "a

原创 sql語句跨數據庫的表聯接

直接使用 數據庫名.表名來聯接 以mysql爲例 說明跨數據庫的表聯接 1、 數據庫 db1 表 tb1(uid,username,groupname) 2、數據庫 db2 表 tb2(uid,phone,addr)

原创 c++函數對象構造函數和operator()執行關係

函數對象常用在stl的算法中,用於特殊的匹配定製功能。 在執行的函數對象中構造函數和重載()函數的關係先後順序 如下代碼: find_if(v.begin(), v.end(), search_num(4)) #include <io

原创 sql語句嵌套子查詢將子查詢結果作爲表與其他表再聯接查詢

子查詢 要用()括起來 實例: 詳情表 info( uid, /用戶id/ serv_id, /應用服務大類型id/ app_id /應用id/) 用戶表 user(uid, /用戶id/ una

原创 類的設計

一、類的基礎:抽象數據類型ADT ADT最大的益處是 實現細節隱藏,把關鍵數據隱藏在接口內,數據改動不會影響接口函數。把常用的底層數據類型創建爲ADT,並使用這些ADT,而不需要使用底層數據(底層數據操作在ADT內部實現),也就是說儘可能

原创 軟件構建中的設計

一、設計的挑戰 1、設計中存在的一些問題是必須通過解決或者部分解決才能明確的問題,所以在實際設計中你必須把問題“解決”一遍,才能定義它,然後再次解決,循環往復,最終形成一個可行性方案。 2、設計師了無章法的過程,多次的犯錯時設計的關鍵所在

原创 防禦式編程

防禦編程的核心思想是: 子程序應該不因傳入的錯誤數據而被破壞,哪怕由其他子程序產生的錯誤數據。更確切的說,必須承認程序會有問題,都需要被修改。 防禦編程的最佳方式: 一開始不要再代碼中引入錯誤,使用迭代式設計、編碼前先寫僞代碼、寫代碼前先

原创 理解軟件開發

注: 第一~二章小節 1、軟件開發的總體流程 1) 定義問題 2) 需求分析 3) 規劃構建 4) 軟件架構 5)詳細設計 6) 編碼與調試 7)單元測試 2、學會用隱喻理解軟件開發 理解生活中的事物,從中吸取發散出模型到項目開發中。

原创 setsockopt參數之TCP_NODELAY

轉載:神祕的40毫秒延遲與 TCP_NODELAY 1 現象 現象是這樣的,首先看我用 ab 不加 -k 選項的結果: [~/dev/personal/breeze]$ /usr/sbin/ab -c 1 -n 10 http:/

原创 高質量子程序設計

一、創建子程序的正當理由 降低複雜度。 通過子程序來隱藏程序的實現細節,只需對外提供調用接口 (頻繁重複的小段代碼,抽象成函數) 引入中間、易懂的抽象 通過給一段程序取一個足夠說明語義的名字,該名字能夠提供更高層次的抽象,使代碼