1.承認軟體設計是乙個認知的過程,迭代的過程。
2.承認管理複雜度是根本,從簡單的方面考慮,只不過邏輯較為縝密和複雜。
3.降低複雜度可以通過兩種方式獲取:減少在同一時間所關注的本質性複雜度的量,二是避免生成不必要
的偶然的複雜度。
4.設計是乙個啟發的過程,固執於某一種單一的方法會損害創新能力,從而損害你的程式。
5.好的設計都是迭代的,你嘗試設計的可能性越多,你的最終設計方案就會越好。
作為軟體開發人員,我們不應試著在同一時間把整個程式都塞進大腦,而應該試著以某種方式組織程式,
以便能夠在乙個時刻可以專注乙個特定的部分。
這麼做的目的是儘量減少在任一時間所要考慮的程式量。
你可以把它想做是一種心理上的雜耍(邊拋邊接)通過輪流拋接使兩個或兩個以上物體同時保持與空中,
程式要求你在空中保持的(精神上的)球越多,你就越可能漏掉其中的某乙個,從而導致設計或編碼的錯
誤。將複雜問題分解成小問題,逐一解決,注意子程式的關聯。
保持子程式的短小精悍也能幫助你減少思考的負擔,從問題的領域著手,而不是從底層實現細節入手去編
寫程式,在最抽象的層次上工作,也能減少人的腦力負擔。
評論 條條框框 不應限制我們的思想
前幾日,就在csdn社群上見到一人大概這麼說 我感覺vb的條條框框太多了,好像m 的產品都是這樣 vc mfc也是 果真如此嗎?首先,從技術角度出發進行分析 vb本身包含大量函式,適應極其廣泛的需求 其次,就算vb做不到的,中外許多牛人也利用api實現了許多看似不可能的事情 同時,還應該看到,vb擁...
知識付費專案要如何突破過去的條條框框,專業分析!
知識付費產品發展迅猛,成為了很多人的新生活方式。如果要做一款知識付費產品,又該從哪些方面來考慮呢?不如來看看頭部企業的發展思路,也許從中能獲得啟發。使用者是否有較強的付費意願很重要 一方面,調查報告顯示,知識付費的主要使用者群體以參加工作的80後 90後為主,多分布在一二線發達城市,社會 職場競爭氛...
軟體設計的真諦
假設我們身邊的一切都是用製造材料加以描述的 空調 不是 空調 而是 由金屬和塑料做成的物體 書 不是 書 而是 由纖維和墨做成的物體 溝通時我們也不用 空調 和 書 這樣的詞彙,而是 金屬和塑料做成的物體 和 纖維和墨做成的物體 可以想象大腦在面對這些資訊時會讓我們覺得多麼的痛苦,顯然這樣的事情在現...