SICS程式設計指南 1 序言

2021-08-30 05:24:51 字數 910 閱讀 9039

牛雖然吹得震天響,但是真到要開始面對眾多行家裡手的時候,我不得不說:作為sics的作者,雖然我清楚它的能力,卻也非常清楚它的一些缺陷(嚴格來說, 有些缺陷甚至非常嚴重)。雖然這麼多年來,我一直在對sics的體系和功能進行完善,但是依然有一些問題沒有得到很好的解決。

對於技術方面的問題,我通常都是力求完美和統一的,sics中的這些缺陷之所以存在,實際上是因為我的技術和經驗依然沒能到達足以解決這些問題的所要求的境界。

我將這些欠缺分為幾種型別,按照嚴重性分類,包括:

1)功能涵蓋錯誤,或者語義定義錯誤。這樣的錯誤通常會直接導致系統結構設計混亂,以至於前後矛盾,衝突難解。作為乙個非常底層的應用框架,其語義設計難 度之高絕非乙個普通應用級程式設計師所能想象。我常常為乙個物件(類)的乙個方法的取捨和確定苦苦思索,反反覆覆,卻依然不得其途!應用級程式設計師通常不會非常 關心這類問題,只要採用乙個「本地合適」的方法就好;然而,對於乙個底層支撐框架來說,所要求的甚至是乙個「放之四海而皆準」的定義!

2)功能整體不足,且因為設計不當導致系統難於擴充套件。如果僅僅是功能不足,那麼這個不是什麼太大的問題,俗話說:條條大路通羅馬,換個思路設計就是,但是 如果對這類不足考慮不周導致系統自身難於擴充套件,那麼,就成了死胡同了。在sics中,這類缺陷是我比較重點注意避免的一類缺陷。雖然不敢說肯定沒有,但是 至少在我的能力範圍內已經為未來的功能擴充套件做了大量的準備工作。

3)介面支援不足,功能無法展現。這類缺陷應該說是sics中存在最多的一類,甚至多到如果用「缺陷」來描述簡直是對「缺陷」的侮辱的程度,所以我甚至都 不認為它是什麼缺陷了!說實話,對這方面我的確不是非常關心,因為就目前來說,在我手頭的版本的實際使用者或者應用本身也不是很多,還沒到需要非常重視的程 度。

所以,我所說的缺陷基本上是指第一類缺陷。在「這樣」或者「那樣」之間的考察很難有非常肯定的結論,冗長和重複的定義肯定是因為一些自己未能明白的道理,所以,sics之所以會成為現在的樣子!

Linux音訊程式設計指南(1)

什麼是音訊?取樣和量化。取樣就是每隔一定時間就讀一次聲音頻號的幅度,而量化則是將取樣得到的聲音頻號幅度轉換為數字值.1 取樣頻率 是指將模擬聲音波形進行數位化時,每秒鐘抽取聲波幅度樣本的次數。取樣頻率的選擇應該遵循奈奎斯特 harrynyquist 取樣理論 如果對某一模擬訊號進行取樣,則取樣後可還...

Apple Pay程式設計指南 1 簡介

要發起支付,程式需要建立乙個支付請求。此請求包括購買的服務和貨物的小計,以及任何額外的稅費 運費或折扣。將此請求傳遞給付款授權控制器 payment authorization view controller 該控制器將向使用者顯示該請求並提示使用者輸入所需的任何資訊,例如發貨或賬單位址。當使用者與...

理解高併發 1 序言

高併發已不是個熱詞,然而用好它並非易事,很多時候如果沒有使用得當,極容易產生適得其反的效果。本系列我將系統性的給大家分享高併發的技術要點。其具體技術點包括以下 1.我對併發程式設計的理解 2.synchronized原理及用法 3.顯式鎖的用法 4.鎖的優化技巧 5.執行緒通訊之 wait noti...