<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    軟件設計之道:簡潔

    發布時間:2014-9-22 13:43    發布者:看門狗
    關鍵詞: 軟件設計 , 編程
    作者:areak

      提到軟件設計,我們搞電子的或多或少接觸了一些,應該看到社會對于軟件設計類人才的需求日益增加,拿華為來說,其中可以說90%以上的工作崗位是招聘軟件開發工程師的。每個人編寫的代碼都有自己的風格,而程序員的差別在于理解能力,差勁的程序員不理解自己做的事情,優秀的程序員則相反。如果你的程序還只是拼拼湊湊,毫無章法可言,那么這里的一些建議可能是很有幫助的。

      我們思考一下,軟件設計的終極目的是什么呢?是為了幫助其他人,給其他人的生活帶來方便,歸根結底,是讓復雜的事情變得簡單。詳細劃分一下,歸納為以下3個目的:

      1、 確保軟件能提供盡可能多的幫助

      2、 確保軟件能持續提供盡可能多的幫助

      3、 設計程序員能盡可能簡單地開發和維護的軟件系統,這樣的系統才能為用戶提供盡可能多的幫助,而且能持續提供盡可能多的幫助

      我們現今使用的許多優秀軟件,都是滿足這樣的3個條件的,軟件的設計開發給人們提供了諸多的幫助,而且每一款軟件都在不斷地更新,在原有的基礎上開發出更多人性化、更加高效的軟件,而要使這樣的一款軟件具有可維護性,則需要程序員的編寫的代碼足夠優秀,否則,則需要推倒重來,勢必會增加開發成本和周期。

      沒有東西是永恒不變的,環境在無時不刻的發生著變化,軟件則需要適應這種環境,變化必然發生,所以程序員再設計時,總是希望預測未來的趨勢,為了適應變化,常常會走進誤區,逐一列舉如下:

      1、 編寫不必要的代碼
      2、 代碼難以修改
      3、 過分追求通用

      編寫不必要的代碼

      不要編寫不是必需的代碼,而且要刪除沒有用到的代碼,程序員不應該在真正的需求來臨之前編寫那些代碼,因為沒有人能夠預測未來,如果現在就編寫代碼,等到你真正用的時候,還要重新設計,而且這些不必要的代碼很可能回到是“劣化”,所以應當做的是,省下重新設計的時間,等你真正需要時再去編寫那些代碼。

      代碼難以修改

      設計程序時,應當根據你現在確切知道的需求,而不是你認為未來會出現的需求,軟件項目的一大殺手就是所謂的“僵化設計”,產生的原因主要有兩個:

      1、 對未來做太多假設
      2、 不仔細設計就編寫代碼

      過分追求通用

      代碼要修改是一個事實,所以有些程序員就會想方設法做一個足夠通用的辦法,保證可以適應未來任何可能的形式。但結果是,無論做得怎么通用,其實都不夠滿足未來要面對的真實需求,而且如果你的代碼真的很通用,那么它通常不能從用戶的角度很好地滿足需求,而且太過通用就必須寫很多不需要的代碼,從而背離了軟件設計的簡約之道。

      應對這種情況的方法就是采用漸進式的開發設計,先從最簡單的部分開始,由簡入深,在每一個設計階段,下一步都只做最容易的事情,一步一步的來。

      那么,軟件設計本身要遵循什么樣的原則呢?其實我們一直在強調的就是簡潔,如何做到,下面是一些好的建議:

      1保持一致

      要做到簡單,保持一致是很重要的工作,如果你在一個地方采用了某種規則,就應當在其他地方都遵守這種規則,例如,某變量被命名為somethinglikethis,其他的變量也要這樣來定義,不要定義成other_like_this。如果代碼不能保持一致,會給其他程序員帶來困擾。完全保持一致,可以讓編程更簡單。

      2可讀性

      代碼被閱讀的次數遠多于編寫和修改的次數,所以,保證代碼容易閱讀很重要,而代碼的可讀性主要取決于字母和符號之間的空白排布。要把各部分拆分出來,就必須留出空白,但是空白太多也是不必要的,因為這樣會很難發現事物之間的聯系,那么保持留出的空白保持一致規范是必要的。

      3命名

      可讀性的另一部分重要內容是為變量、函數等選擇合適的名字,名字應當足夠長,能夠完整表達其意義或者描述其功能,但不能太長,以免影響閱讀。

      這樣的代碼命名就很糟糕:

      Q=s(j,f,m);
      P(q);

      而下面代碼則不同:

      Quarterly_total = sum(January, February, march);
      Print(quarterly_total);

      4注釋

      為保證代碼的可讀性,好的注釋也很重要,但是,代碼的意圖通常不應該用注釋來說明,直接閱讀代碼就應該能夠理解,如果意圖不夠明顯,說明這段代碼還不夠簡單,只有當你的代碼實在不能再簡單,其他程序員在修改時會產生困惑時,才應該寫注釋來說明。

      簡潔:軟件設計之道。


    本文地址:http://www.portaltwn.com/thread-132994-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷