經過基本modularity (also called separation of concerns)設計的**
模組化的思想和命令列選單的實現範例(開源社群中常見的寫法)
基本模組化的寫法
**設計中的一些常見方法
kiss(keep it ****** & stupid)
using design to frame the code(matching design with implementation)
including pseuducode
不要和陌生人說話原則
合理利用control structures、data structures來簡化**
一定要有錯誤處理
通用linktable模組的介面設計
將通用的linktable模組整合到我們的menu程式中
定義介面 - 「天王蓋地虎,寶塔鎮河妖」***接頭也設計介面的!
介面規範
內聚和耦合
通用原則
-----------------------
什麼是函式的可重入性?
可重入(reentrant)函式可以由多於乙個任務併發使用,而不必擔心資料錯誤。相反,不可重入(non-reentrant)函式不能由超過乙個任務所共享,除非能確保函式的互斥(或者使用訊號量,或者在**的關鍵部分禁用中斷)。可重入函式可以在任意時刻被中斷,稍後再繼續執行,不會丟失資料。可重入函式要麼使用本地變數,要麼在使用全域性變數時保護自己的資料。
可重入函式:
不為連續的呼叫持有靜態資料。
不返回指向靜態資料的指標;所有資料都由函式的呼叫者提供。
使用本地資料,或者通過製作全域性資料的本地拷貝來保護全域性資料。
絕不呼叫任何不可重入函式。
什麼是執行緒安全?
如果你的**所在的程序中有多個執行緒在同時執行,而這些執行緒可能會同時執行這段**。如果每次執行結果和單執行緒執行的結果是一樣的,而且其他的變數的值也和預期的是一樣的,就是執行緒安全的。
執行緒安全問題都是由全域性變數及靜態變數引起的。若每個執行緒中對全域性變數、靜態變數只有讀操作,而無寫操作,一般來說,這個全域性變數是執行緒安全的;若有多個執行緒同時執行讀寫操作,一般都需要考慮執行緒同步,否則就可能影響執行緒安全。
函式的可重入性與執行緒安全之間的關係
可重入的函式不一定是執行緒安全的;
可重入的函式在多個執行緒中併發使用時是執行緒安全的,但不同的可重入函式(共享全域性變數及靜態變數)在多個執行緒中併發使用時會有執行緒安全問題(可能是執行緒安全的也可能不是執行緒安全的);
不可重入的函式一定不是執行緒安全的;
軟體工程1 軟體工程概念
軟體工程是 將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體 計算機科學技術百科全書 軟體工程是應用電腦科學 數學 邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑑傳統工程的原則 方法,以提高質量 降低成本和改進演算法。其中,電腦科學 數學用於構建模型與演算...
網易雲課堂 軟體工程學習心得
通過十周的學習,老師要求的網易雲課堂 軟體工程的學習,終於結束了。從開始的對linux平台的不熟悉,到能夠熟練運用linux書寫 我相信大家和我一樣都學到了很多。這是學習的進度表 實驗一 實驗二 實驗三 實驗四 實驗五 實驗七 實驗 庫 這是最高的層次,是應對軟體危機的需要。2 設計原則 低耦合 高...
軟體工程 軟體測試(1)
軟 件 測 試 目 的 1 測 試 是 程 序 的 執 行 過 程 目的 在 於 發 現 錯 誤 2 一 個 好 的 測 試 用 例 在 於 能 發 現 至 今 未 發 現的 錯 誤 3 一 個 成 功 的 測 試 是 發 現 了 至 今 未 發 現 的 錯誤 的 測 試 軟 件 測試 的 原 則 ...