你了解這些Linux程序設(shè)計(jì)的特點(diǎn)么?
對(duì)于程序員來(lái)說(shuō)Linux操作系統(tǒng)是很受歡迎的,他們?cè)谠O(shè)計(jì)程序時(shí)都會(huì)應(yīng)用Linux,Linux操作系統(tǒng)的設(shè)計(jì)師們鼓勵(lì)人們采用一種獨(dú)到的程序設(shè)計(jì)風(fēng)格。你了解Linux程序設(shè)計(jì)的特點(diǎn)么?下面是Linux程序設(shè)計(jì)的特點(diǎn)。
(1) 簡(jiǎn)單性。許多最有用的 Linux軟件工具都是非常簡(jiǎn)單的,程序小而易于理解。
(2) 重點(diǎn)性。一個(gè)所謂功能齊全的程序可能既不容易使用,也不容易維護(hù)。如果程序只用于一個(gè)目的,那么當(dāng)更好的算法或更好的操作界面被開(kāi)發(fā)出來(lái)的時(shí)候,它就更容易得到改進(jìn)。在 Linux世界里,通常會(huì)在需求出現(xiàn)的時(shí)候把小的工具程序組合到一起來(lái)完成一項(xiàng)更大的任務(wù),而不是用一個(gè)巨大的程序預(yù)測(cè)一個(gè)用戶的需求。
(3) 可反復(fù)性。使用的程序組件把應(yīng)用程序的核心部分組建成一個(gè)庫(kù)。帶有簡(jiǎn)單而又靈活的程序設(shè)計(jì)接口并且文檔齊備的函數(shù)庫(kù)能夠幫助其他人開(kāi)發(fā)同類(lèi)的項(xiàng)目,或者能夠把這里的技巧用在新的應(yīng)用領(lǐng)域。例如dbm數(shù)據(jù)庫(kù)函數(shù)庫(kù)就是一套由不同功能的函數(shù)組成的集合,而不是一個(gè)單一的數(shù)據(jù)庫(kù)管理系統(tǒng)。
(4) 過(guò)濾性。許多Linux應(yīng)用程序可以用作過(guò)濾器,即它們可以把自己的輸入轉(zhuǎn)換為另外一種形式的輸出。在后面將會(huì)講到,Linux提供的工具程序能夠?qū)⑵渌鸏inux程序組合成相當(dāng)復(fù)雜的應(yīng)用軟件,其組合方法既新穎又奇特。當(dāng)然,這類(lèi)程序組合正是由Linux獨(dú)特的開(kāi)發(fā)方法支撐著的。
(5) 開(kāi)放性。文件格式比較成功和流行的 Linux程序所使用的配置文件和數(shù)據(jù)文件都是普通的 ASCII文本。如果在程序開(kāi)發(fā)中遵循該原則,將是一種很好的做法。它使用戶能夠利用標(biāo)準(zhǔn)的軟件工具對(duì)配置數(shù)據(jù)進(jìn)行改動(dòng)和搜索,從而開(kāi)發(fā)出新的工具,并通過(guò)新的函數(shù)對(duì)數(shù)據(jù)文件進(jìn)行處理。源代碼交叉引用檢查軟件 ctags就是一個(gè)這樣的好例子,它把程序中的符號(hào)位置信息以規(guī)則表達(dá)式的形式記錄下來(lái)供檢索程序使用。
(6) 靈活性。因?yàn)槟愀緹o(wú)法預(yù)測(cè)一個(gè)不太聰明的用戶會(huì)怎樣使用你的程序,因此在進(jìn)行程序設(shè)計(jì)時(shí),要盡可能地增加靈活性,盡量避免給數(shù)據(jù)域長(zhǎng)度或者記錄條數(shù)加上限制。同時(shí)如果可能,應(yīng)盡量編寫(xiě)能夠響應(yīng)網(wǎng)絡(luò)訪問(wèn)的程序,使它既能夠跨網(wǎng)絡(luò)運(yùn)行又能夠在本地單機(jī)上運(yùn)行。
通過(guò)本文你能更好的了解Linux程序設(shè)計(jì)的特點(diǎn)。
【編輯推薦】