天天看點

【Java】_處理資料的一些規則及軟體開發的一些小技巧和建議

學習資料來源:斯坦福大學公開課程式設計方法cs106aJAVA(下載下傳中心有資源)

相關學習資料已上傳至下載下傳中心:學習過程中使用的代碼、筆記初稿以及課程講義(有興趣者可自行下載下傳)

學習過程中的大部分程式需要導入acm.jar包(已上傳至下載下傳中心,也可自行進入http://jtf.acm.org/ 進行下載下傳),

處理大型資料結構的規則:

    名詞(nouns)對應 類(classes)

    動詞(verbs)對應 方法(methods)

    資料要有與其對應的唯一辨別符

    需要選擇适當的集合體

    為了減少存儲空間以及便于資料的調用,一般資料隻有一份,使用時路徑指向需要的資料即可

    示例:編寫一個簡易網絡音樂商店(需要能夠添加音樂(Song)以及專輯(Album)等)

    根據資料結構規則:(名稱對應類,動詞對應方法)

        Class Song

            name              String

            band            String

            price            double

            unique identifier(name + band) —— 唯一辨別符

        Class Album

            name               String

            band            String

            list of songs    ArrayList

            add

            list(iterator)

        ArrayList<Song> songs = new ArrayList<Song>();

        HashMap<String, Album>  albums = new HashMap<String, Album>();

軟體開發的一些技巧及建議

    調試程式(Debugging):

        設計軟體(Design) —— 建築師(Architect)

        編寫代碼(Coding)—— 工程師(Engineer)

        測試(Testing)—— 破壞他人财産的人(Vandal)

        調試程式(Debugging)—— 偵探(Detective)—— 找到錯誤在哪 并修複它

    軟體開發四部曲:

        測試 —— 開發 —— 調試 —— 部署

        每一環節的花費是前者的十倍

    調試經驗總結:(産生問題的原因)

        1、    不好的變量值

        2、    有錯誤的邏輯

        3、    無根據的假設——機關

    軟體調試的規則:

        大部分問題都是簡單的問題。

        程式要系統化

        質疑你的假設(很多人在程式出現問題時常常會假設問題可能出現在哪裡)

        挑剔的對你的代碼

        遇到問題時别驚慌失措

    調試方法:

        println:如果錯誤的值是你程式的問題所在,在代碼裡添加額外的prinln語句可以查找問題所在位置

        單元測試(Unit test):測試獨立的單元 (不可一口氣測試整個程式)

        eclipse調試方法:斷點