做為開發人員 你為什麼應當關心設計
我們開發人員經常錯誤地過早進入編碼階段,因為這對我們太自然了。我們通常意識不到,編碼是昂貴的。我自己在以前就經常犯這個錯誤。當我們從頭為一個app編碼時,主要的設計決定仍然需要去做,我們在開發階段很快就發現app的很多部分經常需要被重寫。原因在於,當編碼時,我們發現現實與我們腦子裡規劃的不一樣,有很多我們根本沒有考慮到的。如果我們換種方式處理這個過程,所有這些都是顯而易見的。
固然,程式碼總是在改變和重構,不應該阻礙開發人員,不過,我們傾向於忘記變化所帶來的時間成本。我們想盡可能地最小化成本。如果你為app做了線框圖或模型,修改它們要比修改已經寫好的程式碼更加簡單快速。
做為開發人員,你或許認為設計app不是你的工作。畢竟,設計師的工作不是提供線框圖和模型的嗎?哦,差不多吧。在某些專案,這項工作的確會被安排給設計師,但是也有很多理由證明,做為開發人員的你,為什麼想具備這項技能。
如果你是一名自力更生的app開發者,你可能沒有錢僱傭專業設計師。儘管如此,這不代表你應該跳過設計階段,這是很多人犯的錯誤。雖然你可能不具備設計師老手的技能和經驗,建立模型的簡單幾步將提前突出很多在你開始編碼時就會遇到的問題。既然這是一項你自己遲早不得不要做的工作,最好儘可能快地優化和搞定。記住:設計意味著在當前條件下就你的app做出決定。這無論如何就是你的責任。
如果你是,或將來是一名自由開發者,很多設計工作也會成為你工作的一部分。很多客戶沒有支付一名獨立設計師的預算。他們想讓你提供問題的解決方案,並把你當做專家。某些客戶是不理解設計和開發的區別的。
對你來說,從費用中拿出一部分僱傭設計師協助你當然可行,只是這意味著給你的預算會有更多的限制。對於我過去的某些任務,這不是必需的,因為我能夠自己搞定。
注意我沒有說過你從來不需要設計師。如果專案龐大,預算允許,當然,去僱傭一名經驗豐富的設計師。但是當僱傭另一個人不是可選項時,時時準備好自己做這項工作才是正道。即使可以,這也有助於你監督、影響設計過程,以及做為開發人員的前途提升,這是設計師經常沒有的機會。
如果你受僱於某些公司,可能以及有設計師了(如果你在小創業公司工作,前面的那段話也對你適用)。就算是固定工作,能夠理解設計師並與之溝通也對你的職業生涯有幫助。這會在公司內部產生一個更好的過程,一個優化的產品,讓你更加專業。
如你所見,不管你的崗位是開發人員,還是其它,編碼前,理解和運用某些設計過程,要比直接開發,有著較大優勢。很多開發人員跳過了這一重要階段,實際上很多次了。我過去也這樣,好多次了。
不要認為設計過程純粹是app某種視覺上的展示。為你收集需求,這也是設計階段的活兒。記住賈伯斯說的話:“設計並非只是它看上去怎麼樣和感覺怎麼樣。設計是關於它是怎麼執行的。”因此,提前理解你的app想完成什麼、如何完成才是重要的。當你已經敲程式碼了再去理解,會花去更多的時間。
既然這是重要的話題,我寫了一個一步一步的教程,書裡覆蓋了app的設計過程。即使你不買這本書,我也希望我設法讓你堅信提前做這項工作的重要性。下一次你去開發新的app時,或只是已有app的一個新功能,忍住不要寫程式碼,而是開始建立一個模型。有很多現成工具可以助你一臂之力,不過你不需要有想象力的東東。即使用紙和筆勾勒出你的想法,也會改善很多開發流程。
如果你想結合具體案例研究這個過程,可以參考我的書《Step by Step iOS Development》。
原文地址:matteomanferdini.com 翻譯:labazhou
相關文章
- 為什麼你應該為開源做設計
- 開發人員需要知道如何做,做什麼,和為什麼做
- 前端開發人員為什麼應該拿高薪前端高薪
- 為什麼 Python 開發人員應該使用 PipenvPython
- 為什麼開發人員痴迷於“關注點分離”?
- 做為技術人員為什麼要寫部落格?
- 做為技術人員為什麼要寫部落格
- 為什麼開發人員從Java轉GoJavaGo
- 為什麼開發人員喜歡低程式碼?
- 作為IT從業人員,你需要什麼證?
- 為什麼IE6讓Web開發人員抓狂Web
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- 《伊格效應》開發日誌:為什麼做職人這個題材?
- 為什麼你應該學習程式設計程式設計
- 淺談DAST,什麼是DAST,開發人員為什麼要使用它?AST
- 為什麼安全是Java開發人員的首要任務?Java
- 為什麼開發人員工作10多年了還會迷茫?
- 為什麼招聘測試人員需要有開發經驗
- 分析:你認為心態對運維人員影響大麼?運維
- Twitter能為你做什麼?
- 當設計師遇上前端開發人員前端
- Web開發/設計人員應當知道的15個網站Web網站
- 為什麼你應當選擇 PostgreSQL 而不是 Oracle?SQLOracle
- 什麼是DevSecOps?開發人員如何為安全而左移dev
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- 為什麼開發人員必須要了解資料庫鎖?資料庫
- 什麼是Web開發?如何成為一個Python Web開發人員?WebPython
- 為什麼阿里巴巴禁止開發人員使用isSuccess作為變數名阿里變數
- 你的遊戲為什麼做不出遊戲
- 我為什麼使用Linux做開發Linux
- 為什麼不做開發做運維?Linux為什麼這麼廣泛?運維Linux
- 為什麼你學不好程式設計程式設計
- 為什麼說web前端開發人員的薪資高、待遇好Web前端
- 為什麼開發人員對於PHP語言褒貶不一PHP
- 為什麼你成為不了團隊核心成員
- 為什麼你該開始學習程式設計了?程式設計
- 程式設計師你為什麼這麼累?程式設計師
- 你為什麼成為一名程式設計師?程式設計師