設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:諍友
萬維讀者網 > 教育學術 > 帖子
懶姑娘:如何成為一個優秀的程序員(二)
送交者: 懶姑娘 2010年02月25日05:50:43 於 [教育學術] 發送悄悄話
                                                剪不斷,理還亂

進入編碼之前,程序 員要作一件重要的事情:設計程序的整體構架:也就是將現實世界的具體需求,轉換成計算機語言中的各種模塊關係,即我們程序員常說的建模.程序的結構是否合 理十分重要,它往往決定了程序的好壞.不合理的程序結構最終將導致整個程序成為剪不斷,理還亂的一堆亂麻.

那麼什麼樣的程序結構才能算合理呢?這當然和程序所要完成的任務直接相關,很難作一刀切的定義.但是我認為萬變不離其宗,有幾條原則:
1 每個模塊的屬性有清楚的定義.
2 模塊之間的關係要簡單有邏輯.
3 儘量避免模塊之間的循環關係.

建 模工作確實十分重要,軟件工業界也推出了很多建模工具,比如UML,OMT等等.但在實際的軟件開發工作中,我發現不少程序員有過度誇大建模重要性的傾 向,花大量的時間紙上談兵,結果反而使得開發工作陷入困境.我就曾遇到一個這樣的例子.我有位同事,當時他負責一個為期六個月的項目.可是三個月後,他還在忙着畫他的UML圖.一個字的編碼都沒有寫.按照他的話來說:要想程序在十年之後還有可運用性,必須花足夠的精力讓程序結構富有彈性,也就是說,我們比須預想到未來的十年中,我們可能會遇到各種新需求.本來很簡單的一個問題,被他這一弄,變得極其複雜.

這種建模理論,在我看來是極其不現實的
首先,人類思維的局限性使得我們不可能預見未來的所有需求.
其次,模型越複雜,開發出來的程序問題也會越多.
最後,軟件的開發應該是一個動態的發展過程,最初構建的模型如果有什麼不足,可以在開發過程根據需要不斷修改.就好像我們不可能要求孩子一出身就具有成人的骨骼一樣.

因 此我認為,開發軟件需要建模.但是建模不應該成為軟件設計中的一個僵硬的單獨的板塊.它應該是貫穿在整個開發過程中.而且,它必須和實際編碼結合起來.很 多問題只有在寫編碼的過程中才能發現.在軟件的結構設計中應該始終秉承這樣一個宗旨:我選擇目前看來最簡單的,最有效的程序結構.

佛教中人常說:世上本無事,庸人自擾之.簡單永遠是最好的.誰要想一口氣吃成個大胖子,他得到的只能是"剪不斷理還亂,是離愁,別是一般滋味在心頭."
0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制