程式設計師應該知道的 13 個設計技巧

2021-01-13 開源中國
開發你的美感

… 我最喜歡的站點是:

多花些時間

我在開發應用和網站時,會在設計上花掉和編碼同樣的時間。好的設計需要時間來完善。

在開始項目時,我一般對於整體布局有基本的想法。當我有想法的時候,我同時進行設計和編程。我會在開發細節功能的同時在瀏覽器裡邊設計那些細節。這可能不是最有效率的,但這樣可以讓我在工作時對項目進行上千次的小迭代。

 

創造的秘密就是知道如何藏好信息來源 – 愛因斯坦

好的藝術家抄,偉大的藝術家偷。- Pablo Picasso

這不是什麼新建議,但是可能是這些技巧中最重要的。當你剛開始的時候,你沒有技能創造出有吸引力的設計。這就意味著你需要模仿知名的設計師,或者讓你深受他們作品的影響。

下邊是我的步驟:我會搜索那些和我的基本想法類似的,但是設計得很好的web應用。我會找出那些我認為會在我的app中有用的元素,然後在我的 app中重新創造它。不要直接copy html或者css,那樣學不到任何東西。只學習視覺,然後用自己的代碼實現。當你慢慢有經驗了,就可以開始創造自己的東西了。

 

忘了PhotoShop

 

如果你和我一樣不知道怎麼用PS,用你的代碼直接在瀏覽器裡邊設計吧。我只用PS調整圖標以及給app截圖。( Easy註:最近Sketch挺火的,很多設計師已經從PS完全轉向Sketch了。

精通CSS

直接在瀏覽器中設計需要精通CSS。… 下邊是一些資源:

前端框架是你的好朋友

 

從無到有的創建一個網站或者app是很難的,尤其對於新手。所以現在我使用前端框架。最有名的是的Foundation和Bootstrap,也有很多其他備選。

圖標意外的重要

 

我用了很長時間才認識到圖標對於一個好的設計來說有多麼重要,這並不那麼顯而易見。圖標改善了導航,添加了色彩,傳情達意。圖標不一定能讓設計NB,但一堆爛圖標一定會讓你的設計SB。

根據項目的不同我使用icon fonts或者svg icons。icon fonts非常好用,尤其是你在瀏覽器裡邊設計的時候。icon fonts讓你很容易給一個元素添加圖標,你只需要加個class就好了。

icon fonts大法好的另一個原因是你可以像改變字體大小一樣改變這些圖標的大小。換顏色也一樣。

下邊是我喜歡的一些icon資源

迭代,非常重要

嘗試和失敗是非常有價值的工具。很多嘗試看起來不爽,和你的設計不搭。但是沒有關係,每次失敗時回滾到上一步再繼續。在我確定Duet的設計之前我迭代過上千次。

關注可用性和易用性

好的設計不止是app看起來如何。它還涉及了app的功能好不好,用起來容易不容易。即使不用專業培訓,一點小常識就能讓你在構建可用的app上受益匪淺。

你只需要中一件事就可以確保app的可用性—— 保證你真的在用你開發的app。經常用。如果有東西讓你覺得小不爽,修理它。相信你的自覺。如果一個流程不清晰或者太複雜,你能直觀的感受到。是不是步驟 太多?是不是某個功能難以找到?是不是常用功能用起來要點太多次?或者是不是你有時候都會忘掉一些功能在哪裡?不管可用性問題在哪兒,只要你一直用你的 app,我相信你能發現它的,然後你會修好它。

顯然這個流程是不完美的,你代表不了其他的每一個用戶使用它的方式,但我的經驗是絕大部分問題通過這個方式可以找出來。…

 

排版比你想像的重要

 

Easy:由於此段內容都是英文排版相關,直接跳過。補充兩個中文排版開源項目:

 

選擇正確的圖片和圖庫

… 幾個高質量的免費圖庫

 

重視反饋

無法否認我在這個方面做得很差,但我認識到了反饋的重要性。我做的大部分東西在發布之前沒有得到反饋。為了在測試階段獲得反饋,我開始關注這些資源:

 

最後一招

如果你不知道如何去做——簡單總是好的。大量留白、更輕微的陰影之類。變得擅長設計是一個漫長的過程,會花掉你很多時間。也許不是你喜歡的方式,但一旦你掌握了它,你會有明顯的提升。

原文出處: duetapp   譯文出處: 方糖氣球(@easy)

相關焦點

  • 資深程式設計師大佬告訴你,如何成為一個C++高級程式設計師
    在此我們不討論具體的技術細節,只說我們應該學習什麼東西。一、技術能力1. 語言我們要成為一個程式設計師,學的東西會很多很雜,但是最開始一定要從語言開始學習,而學習語言最關鍵的莫過於選好一本書,學校的教材就算了,根本沒 有寫得好的。在此隆重推薦《C++ Primer》,這本書很厚,內容也很豐富,對知識的講解不僅僅停留在表面。
  • 新手請進:每個Python程式設計師都應該知道的10個縮寫詞
    本文將回顧十個這樣的縮寫詞,包括通用的編程原理以及特定的Python編碼,每個詞都有自己有用有趣的方面。1. OOP(面向對象編程)要介紹的第一個縮寫是OOP——面向對象編程,這就是Python所基於的設計。
  • 想成為嵌入式程式設計師應知道的0x10個基本問題
    這個測試只是出題者為顯示其對ANSI標準細節的知識而不是技術技巧而設計嗎?這個愚蠢的問題嗎?如要你答出某個字符的ASCII值。這些問題著重考察你的系統調用和內存分配策略方面的能力嗎?這標誌著出題者也許花時間在微機上而不上在嵌入式系統上。如果上述任何問題的答案是"是"的話,那麼我知道我得認真考慮我是否應該去做這份工作。
  • 14 個實用的資料庫設計技巧,好用到爆
    為此,要在二者之間增加第三個實體,該實體取名為「借還書」,它的屬性為:借還時間、借還標誌(0表示借書,1表示還書),另外,它還應該有兩個外鍵(「圖書」的主鍵,「讀者」的主鍵),使它能與「圖書」和「讀者」連接。
  • 程式設計師的這108個笑話 你都看得懂嗎?-程式設計師,笑話,編程, ——快...
    12、《桃花庵--程式設計師版》寫字樓裡寫字間,寫字間中程式設計師;程序人員寫程序,又將程序換酒錢;酒醒只在屏前坐,酒醉還來屏下眠;酒醉酒醒日復日,屏前屏下年復年;但願老死電腦間,不願鞠躬老闆前;奔馳寶馬貴者趣,公交自行程式設計師;別人笑我太瘋癲,我笑自己命太賤;但見滿街漂亮妹,哪個歸得程式設計師。13、有一天某程式設計師去買肉,要了一公斤,拿到公平電子秤上一稱:「額……怎麼少了24克。」
  • 據說不知道這些大神的程式設計師不是真正的程式設計師
    簡評:據說不知道這些大神的程式設計師不是真正的程式設計師,這些大神有的可以憑藉一本未完成的書獲得ACM圖靈獎,有的微軟開出百萬年薪蓋茨親自來挖人,更甚者用自己發明的語言重新開發一套作業系統。這些大神不僅極大地促進了計算機行業的發展和軟體技術的革新,而且也讓我們這些後生的程式設計師能夠在他們的技術鋪墊上,利用他們開發的平臺工具或是語言更好地開發軟體。所以作為程式設計師的我們在學習技術的同時也應該多去了解這些大神背後的故事,在敬仰之餘也去學習下他們不斷進取,富有開創性的精神。   D.E Knuth(高納德.
  • 每個程式設計師都應該知道的Redis知識 - String底層原理
    上文我們講述了Redis的數據類型,以及應用場景,文章連結是《每個程式設計師都應該知道的Redis知識》。本文將講述如下內容:Redis中Srting類型的底層實現原理通過String底層實現原理的學習,我們可以學習到哪些底層優化方法Redis中關於String命令介紹我們知道Redis是由C語言實現的,在介紹Sring類型的實現之前我們先複習一下C語言的字符串類型。C語言中的字符串是以空字符結尾的字符數組,詳細說明見下圖:
  • 是什麼成就了一名「高級」程式設計師?
    除多年編程經驗之外,還有什麼能區分一個程式設計師是「老手」還是「新手」?編程技巧當然是一部分,但它絕非是全部。聰明的程式設計師可能比他們的同行擁有更出眾的編程技巧,但那不足以說明他們就是「老手」。同樣,僅僅因為擁有10年編程經驗也並不意味著他們就是高手。在工作崗位上,擁有多年編程經驗也不能說明問題。即便沒被炒魷魚,那也不能提升你的價值。
  • 國外程式設計師推薦:每個程式設計師都應讀的書
    源於2008年8月4日,StackOverflow 網友 Bert F 發帖提問:哪本最具影響力的書,是每個程式設計師都應該讀的?「如果能時光倒流,回到過去,作為一個開發人員,你可以告訴自己在職業生涯初期應該讀一本, 你會選擇哪本書呢?我希望這個書單列表內容豐富,可以涵蓋很多東西。」
  • 普通程式設計師與高級程式設計師有什麼差別?你知道嗎?
    程式設計師的基本能力是:Tasking和學習能力。當好程式設計師的能力是:用更好的方法來實現功能。0.文檔能力「文檔是第一生產力」,這一點在程式設計師的世界是毫無異議的。俗話說:「不會寫文檔的程式設計師不是一個好程式設計師」。
  • 高級程式設計師是如何從初級程式設計師演變的?工作經驗不再是唯一途徑!
    作為一名初級程式設計師,這絕對是一場災難。你可能認為你是一個超級明星程式設計師,無所不知。但事實是,你知道的很少,距離優秀還有很長的路要走。你應小心提防,不要掉進這樣的陷阱。 初級程式設計師和高級程式設計師的區別在於初級程式設計師認為自己什麼都懂,而高級程式設計師則知道自己還有很多東西要學。
  • 程式設計師:高級與低級程式語言,您應該學習哪些內容?
    如果你是一名C程式設計師,Java可能看起來很高級。如果您習慣使用Ruby,Java可能看起來像是一種低級語言。機器代碼和低級語言語言是高級還是低級(或中間某處)都是關於抽象的。機器代碼沒有抽象 - 它包含傳遞給計算機的各個指令。因為機器只處理數字,所以它們用二進位表示(儘管它們有時用十進位或十六進位表示)。進入更流行的程式語言,你會得到像C這樣的東西。
  • 程式設計師必備的50個快捷鍵,提升效率必備!
    每天工作都和電腦打交道,所以掌握一些常用的電腦快捷鍵很重要,尤其是程式設計師,工作上效率,質量,速度少一個都不行。而使用快捷鍵能讓他們在工作時更高效,更速度!下面就和大家分享50個程式設計師必備電腦快捷鍵,幫你提升工作效率100倍!
  • 你應該知道的11個重要的WhatsApp使用技巧,實用性滿分
    你應該知道的11個重要的WhatsApp使用技巧,實用性滿分WhatsApp是我們現在大部分人最常用的社交應用之一,但是很多人還不知道,它還有許多隱藏的小技巧,能夠讓你的使用更加方便有趣,一起來看下吧!1、 在主屏幕上添加聯繫人WhatsApp還允許您向主屏幕添加聯繫人,非常適合其他重要人士和其他經常聯繫的人。
  • 誰是更好的程式設計師:中國人還是印度人?
    為了回答這個問題,我們需要知道「更好的程式設計師」是什麼意思。以下是計算機科學專家一致認為的最好的程式設計師的幾個要點。以至於唐納德·克努斯(Donald Knuth)甚至舉行公開比賽,以獎勵那些在程序中發現錯誤的人。「編寫最好的程序是為了使計算機能夠快速地執行它們,使人類能夠清楚地理解它們。
  • 《Python程式設計師面試算法寶典》PDF超清版開源了文末附下載方式
    簡介精選Facebook、Google、Microsoft和BAT等大型企業的Python算法面試題,並進行詳細的剖析、分類歸納,提煉出算法面試的各種應對技巧,是一本Python程式設計師算法面試的圖書寶典。
  • 十個超級好用的R語言編程技巧,一般人絕不知道!
    這些技巧往往非常簡單,但對於完成工作有很大的幫助。本文將介紹十個能夠讓R語言編程工作更加輕鬆的小知識。 1. switch函數在if語句基於其他變量值來選定某個值時,switch可以很方便地縮短if語句。這個技巧在編程中需要根據之前的抉擇加載一個不同的數據集時非常有用。
  • 程式設計師和工程師的不同
    打開APP 程式設計師和工程師的不同 發表於 2019-07-19 17:38:13 我剛剛工作的時候,面試官曾經跟我說:好好幹兩年
  • 程式設計師是做什麼的?未來計算機變得智能,就不需要程式設計師了嗎?
    一些人相信經過數千年的發展,人類應該變成完全沉悶的、理性的、可預測的生物,但是這並沒有發生。人類舊的大腦結構、複雜的心理和社會行為往往使人們不理性,不可預測並帶有欺騙性。並且,人類有糟糕的記憶力、強烈的情感和個人興趣。但是,程式設計師沒法選擇與更理性的物種工作,他們不得不與人類共事並且把人類的想法翻譯成計算機語言。
  • 暴漲的比特幣、特斯拉與被程式設計師統治的世界
    他因此發揮想像力討論了以下7個問題: 1、最優秀的人去做什麼了? 2、人類的恐懼是什麼; 3、程式設計師真的在統治世界嗎? 每個時代的最優秀的人,他們應該都在做能在自己的時代裡最能夠獲得權利的事情,他們努力的方向應該都是如何擁有這個時代最大的紅利,或者是最大的自由度,或者最大的欲望滿足度的行業。在歷史上,自古以來這個群體,是讀書人的群體。 比如在各種傳奇小說中,最常見的關目,就是美好的女性和考狀元的人終成眷屬。