介面設計評估 unix程式設計藝術學習筆記

2021-08-26 04:30:58 字數 540 閱讀 4903

這裡的介面,更多的指的是對使用者的介面。

介面的五個特性:

1、 簡潔:指乙個事務處理需要的動作時間及複雜度有較低的上限。

2、 表現力:介面可以出發廣泛的行為。

3、 易用性:使用介面需要記多少東西?

4、 透明性:使用者動作的效果,能夠自然的給出中間結果,反饋,錯誤通知。程式的執行是透明的,使用者知道執行的狀態。

5、 指令碼能力:可以容易的為其他程式使用,特別是自動化的能力。

這幾個方面往往要根據實際的問題做出一些權衡,看保留那個。

cli(命令列介面)和視覺化介面兩者對比:cli在簡潔性,表現力,指令碼能力上較強;但是在易用性和透明性相對較差。這個視覺化介面正好相反。

cli在問題比較複雜,程式行為單一,過程化和重複性時能夠很好的處理。比如,需要根據url來儲存網頁,乙個還好說,如果要保持100甚至更多,cli的價值就體現出來 了。

「視覺化介面在處理小數量簡單行為的情況下,工作良好。但是當行為或者物體的數目增加時,直接操作便變成了機械重複的苦差。」

Unix介面設計模式 unix程式設計藝術學習筆記

1 過濾器模式 接收標準輸入,然後轉化為標準輸出。把自己當成乙個過濾器。使用時的原則 寬進嚴出,不需要的資訊也絕不丟棄,絕不增加無用資料。比如grep。2 cantrip模式 沒有輸入,沒有輸出,只呼叫一次,引數狀態值,然後退出。比如rm。不需要互動。3 源模式 不需要輸入。比如ls。4 編譯器模式...

微型語言的設計 unix程式設計藝術學習筆記

軟體的缺陷率和使用的語言無關。我曾經設計過乙個機遇xml的微型語言。另外,xtest專案讓我向設計乙個全新的,類似於真正語言的語言,而不是簡單的標記語言。在學習這一章的時候,結合整xtext一起學習一下。發現xtext有乙個問題,它只可以執行的jvm上。我想設計一種dsl,我可以自己編寫它的直譯器。...

談談複雜度 unix程式設計藝術學習筆記

1 規模 一般就是 的函式。2 實現複雜度 程式設計師為了理解乙個程式從而建立其思維模型並除錯該程式的困難程度。3 介面複雜度 主要是和使用者介面的複雜度,比如使用者介面,功能,操作等。面對上面三個複雜度比較陷入三個陷阱 1 manularty 人力尺度 陷阱 主要是為了避免介面複雜度,而把許多底層...