10個對開發者非常有用的設計原則

2021-07-10 09:25:04 字數 1782 閱讀 7013

**:

要點:我會盡力解釋jakob nielsen的10設計啟發式演算法。我會用例子告訴你,作為一名開發人員,如何使你的產品以及你產品背後的**更加有用。

開發者也是設計師,他們只是使用不同的媒介。因此,你知道如何設計系統也是你的最終產品的一部分。

關注於把底層設計的更加有用將會幫助確定以下事情:

當我與開發者一起工作的時候發現,這些觀念已經在程式設計師

之中存在了–只是他們還沒有把這個表達給設計師。還有很多需要去做,但是基礎已經存在了,這難道不是好訊息嗎?

在我的例子中並沒有任何實際的**,因為我覺得人們對於編寫任何軟體的正確方式都太敏感了。

像設計師一樣,程式設計師喜歡運用他們的創造力來解決複雜的問題。而我寧願你考慮一下下面關於設計系統的規則,而不是按照一組嚴格的規定來說「這是解決xx問題最好的方法」。

啟發式只是通過你的經驗中學習。它是用於查詢在使用者介面的易用性問題,使得它們可以參加到作為迭代設計過程的一部分的方法。

我們得到3-5個啟發式設計的專家來使用我們的產品,並判斷它是否符合最基本的可用性規則,即「10設計啟發式」合規,這是啟發式的簡化。

下面讓我們開始吧。

1. 系統狀態的可視性

曾經上傳影象到乙個**?比如說乙個社交網路的頭像?

主要的原則是要使你始終可以了解上傳的狀態。上面的例子只是告訴你上傳的狀態。而看到它的進步使使用者更加舒服,你不覺得嗎?

2. 系統和現實世界之間的匹配

當寫文件或命名乙個組成部分,始終嘗試使用熟悉的術語。了解目標使用者是誰,然後使用他們熟悉的單詞、短語和概念。

3. 使用者控制和自由

系統應該允許你自由去探索其內容,但是以一種更加負責的方式,應該讓你可以從你可能犯的錯誤中進行恢復。比如說支援「撤銷」與「重做」。

4. 一致性和標準

蘋果和微軟都對「確定」和「取消」按鈕的順序有不同的意見。哪個更好?

都不好或者都好?當然,這並不重要,重要的是你要確保所有使用者互動系統的一致性。

要做到這一點,你就不應該讓你的使用者困惑,為什麼不一樣的單詞、不一樣的環境或者操作確得到相同的結果。

5. 錯誤的預防

在錯誤可能發生的第乙個位置阻止錯誤是非常重要的。

當我們一開始的時候,就有qa人員來尋找產品中的缺陷以保證產品質量。然後把他們放到生產線上,讓他們指出如何在第一道工序開始就做出沒有缺陷的產品。你會驚訝於這樣的效率是多麼的高,當你做的東西中的缺陷在第一時間被發現而不是到最後才被發現。

— mary poppendieck

6. 可識別性

顯示出提公升使用者可用性的標識,這是另乙個有幫助的內容。

cli(命令列介面) 是乙個完全無視這一原則的最好的例子,通過這樣,它演示了優雅(它用靈活性與效率來彌補了它所缺少的)。

7. 靈活性和使用效率

在你的系統上提供乙個潛在的、隱藏的層,來幫助有經驗的使用者通過「雜訊」,變得更加有效率。

cli 就是這樣乙個「隱藏」介面的功能是可以多麼強大的例子(我們甚至可以選擇擴充套件)。

8. 簡潔

最初被列為「審美和簡約設計」。這一原理是關於提高訊雜比的。

你提供給使用者的所有資料都要有一定的約束–是否有臃腫的http請求的占用頻寬、充滿缺陷的api、以及需要太多請求的互動介面。

盡量用最小的輸入,獲得最大的產出。

9. 幫助使用者識別、診斷和從錯誤中恢復

錯誤訊息應該用平實的語言表達(沒有**),精確顯示問題,建設性地提出乙個解決方案。對使用者是有用的。並且提供乙個解決方案。

就像 這樣。

10. 幫助和文件

在設計原則的列表中看到這一項,我和你一樣感到驚訝。

10個非常有用的CSS技巧

1.將網頁或元素居中 html divclass wrap div css wrap 2.sticky footer 讓頁尾永遠停靠在頁面底部,而不是根據絕對位置 html divid wrap divid main class clearfix div div divid footer div c...

10個針對開發者的實用CSS工具

儘管使用 css 可以實現很多漂亮的效果,但對於一些任務來說,實現起來比較費事。但是借助於一些工具,可以讓你的專案更快地實現。本文將分享 10 款對於設計師和開發者非常實用的 css 工具。1.dabblet 乙個互動式的 css 開發和 共享工具。該工具託管於 github 站點,提供了很多便利的...

10個對Web開發者最有用的Python包

django無疑是最通用的web開發框架之一。無論你是需要為個人部落格做乙個後端還是為企業做乙個內容管理系統,django都可以幫助你從幾乎為零的狀態建設出乙個全功能的web應用程式。selenium是繫結無數語言,包括python的web自動化框架。使用selenium,開發人員可以通過程式設計的...