幾個問題:
1、關於單元測試的自動化。
大家都喜歡在寫**時能夠確定自己原來寫的東西沒有錯誤,所以單元測試確實在開發中起到很是吸引人,但是單元測試又確實很是繁瑣。那麼這裡所謂的單元測試「自動化」,其自動化是針對哪些方面?
2、關於專案設計與開發速度上的問題。
設計到怎樣的程度有利於能夠提高開發的速度,是否存在某些設計需要在實踐中考察後才能判斷優劣的情況?
3、關於軟體工程師成長方面的問題。
書中有提到很多關於軟體工程師資格認證的內容,那麼乙個優秀的軟體工程師應該有怎樣的習慣和精神素養呢?
4、關於敏捷流程。
現實的開發過程中往往會比理論中多出很多問題,比如需要如何能夠將需求細化到任務,然後在細化到設計,最終使得能夠在規定的時間內有條不紊的完成目標?
5、關於優化。
如果最後做效能分析的時候發現的效能問題造成的原因是前期乙個隱藏在很深地方的不妥當架構造成的,這個時候該如何取捨?
「軟體」和「軟體工程」的由來:
軟體:軟體概念最早於2023年8月由richard r. carhart提出。真正電子上的軟體由john tukey於2023年在《the teaching of concrete mathematics》中提出,當時發表在jstor上。
軟體工程:margaret hamilton在nasa裡參與阿波羅11號電腦系統軟體開發時提出的。
目前流行的源程式版本管理軟體和專案管理軟體:
git:
優點:適合分布式開發,強調個體。
公共伺服器壓力和資料量都不會太大。
速度快、靈活。
任意兩個開發者之間可以很容易的解決衝突。
離線工作。
缺點:資料少(起碼中文資料很少)。
學習週期相對而言比較長。
不符合常規思維。
**保密性差,一旦開發者把整個庫轉殖下來就可以完全公開所有**和版本資訊。
github:
github可以託管各種git庫,並提供乙個web介面,但與其它像 sourceforge或google code這樣的服務不同,github的獨特賣點在於從另外乙個專案進行分支的簡易性。為乙個專案貢獻**非常簡單:首先點選專案站點的「fork」的按鈕,然後將**檢出並將修改加入到剛才分出的**庫中,最後通過內建的「pull request」機制向專案負責人申請**合併。
bitbucket:
免費支援私有倉庫,這一點無可比擬。它同時支援 hg / git,無論從介面還是功能上看,跟 github 比都幾乎沒有什麼缺點(github 有的功能它全有)。
《構建之法》閱讀疑問
構建之法 暫時唯讀到第四章結對專案,前幾章的閱讀中有一些問題 1 p18 有的軟體企業不但免費,而且連源 也一併奉送,但是要求獲得源 的開發人員遵守某種約定,我不明白對於這種軟體企業它們怎樣盈利?2 p40頁提到隨機數測試無法產生可重複 一致的結果。能否進行如下改進,把隨機產生的輸入記錄到乙個檔案中...
閱讀《構建之法》後的相關問題
問題一 在團隊開發中,每個人的性格也不盡相同,有人喜歡把事情盡早做出來,但也有人喜歡把事情放在後面,拖到最後,出現兩極分化這樣就會產生衝突 工作進展緩慢 合作不愉快等,那要如何協調和解決這件事,從而保證團隊的高度團結和團隊開發的效率?對於這個問題,鄒欣老師在構建之法中也給出了答案。鄒欣老師提出了多種...
對《構建之法》第4,17章的疑問
第4章 兩人合作 書中引用 函式最好有單一的出口,為了達到這一目的,可以使用goto。只要有助於程式邏輯的清晰提現,什麼方法都可以使用,包括goto。p69 疑問1 在實際的專案中,真的建議使用goto嗎?想法 在大一的c語言課堂上,老師告訴我們盡量不要使用goto,因為goto跳來跳去,會影響程式...