1. 程式人生 > >結對程式設計之效能分析

結對程式設計之效能分析

作業三 文字檔案中英語單詞的頻率

作業簡介

  • step0-輸出某個英文文字檔案中 26 字母出現的頻率,由高到低排列,並顯示字母出現的百分比,精確到小數點後面兩位
  • step1:輸出單個檔案中的前 N 個最常出現的英語單詞。
  • step2: 支援 stop words
  • step3: 我們想看看常用的短語是什麼, 怎麼辦呢?
  • step4: 把動詞形態都統一之後再計數。
  • step5: 統計動介短語出現的頻率
  • 效能分析

guideline

我們收到assigment後,便約了時間,一起討論了這次的guideline,一直按照這個guideline進行

如何合作

此次結對程式設計,我們前期獨立實現每步的功能,每天晚上19:00-22:30進行討論,一是確保自己程式的正確性;二是交換各自的idea; 三討論接下來的工作,與自己的感受。 後期我們整合了一個程式,三個人對其進行測試與效能分析。

程式語言

由於我們三人中,2個人擅長python,2個人瞭解c/c++,加之人生苦多,我用python,同時為了更快的開發。So我們的開發環境:

  • 系統: win10
  • 語言:python
  • IDE:pycharm2017

程式碼風格

我們的程式碼命名使用駝峰命名法

  • 普通變數名:一個或多個單字連結在一起,首字母以小寫開頭,每個單詞首字母大寫(第一個單詞除外)。 例如: (註釋是為了更好地說明命名規則,實際註釋風格並非如此)

    wordsCountsDict  #存放詞頻的字典,key為單詞,value為頻率
    
  • 全域性變數:一個或多個單字連結在一起,開頭為為g_,每個單詞首字母大寫(第一個字母除外)。 例如:

    g_wordsCountsDict  #存放詞頻的字典的全域性變數
    
  • 函式名/類名: 一個或多個單字連結在一起,每個單詞首字母大寫 例如:

    def CountLetters():  #用來統計字母的頻率的函式
    class WordCount(object): 
    
  • 註釋風格

    • 函式的說明 寫明函式名稱,功能輸入,輸出,作者,日期。
    ###################################################################################
    #Name:StopWordProcessing()
    #function:Remove the words from the "stopwords.txt"
    #input: dict2List : A list transformed by a dict whose keys are words and values are frequencies # ouput: listProcs : A list after removing stopwords #Author: Enoch #Date:2018.10.22 ###################################################################################
    • 某行註釋 註釋在某行行末
    wordsCounts = StopWordProcessing(wordsCounts)  # Remove the words from the "stopwords.txt"
    

單元測試、程式碼覆蓋率與迴歸測試

效能分析與提升

效能的定義可以點選 效能分析 瞭解,針對此次任務我們的效能分析為 :本次作業的效能

My teammates

楊濤:極強的領悟能力與快速學習能力,熱愛科研,對待各項任務都投入極大的熱情,看待問題獨到而全面,善於運用各種strange tips。就喜歡坑我,剛約了網課就拉我去討論。 張賀: 超強的邏輯思維與敏銳的洞察力,善於總結與能把握進度,相見恨晚。