第一次博客做業

關於《構建之法》的幾個問題


  1. 關於代碼複審,複審者是否應該參與編碼?若是複審者也參與編碼的話,那麼不免任務量較多,但若是不參與編碼的話,工做分配的彷佛不太均衡。
  2. 關於敏捷開發,敏捷開發的過程彷佛很混亂,它的需求彷佛常常會改變,這樣不就是沒有設計好就開始寫代碼?那麼不免遇到很大塊的代碼須要修改。
  3. 敏捷開發的過程在我看來僅適合一些小型的項目,大型項目中若是想應用的話會搞得一團糟,是否是呢?
  4. 單元測試要求對一切輸入都有正確的輸出,不能依賴本身的其餘模塊的代碼,那麼這不免會使咱們傾向於把每個模塊都設計的很大,從而減小單元測試的壓力……該如何避免這種狀況?
  5. 結對編程,僅是指兩我的共用一臺電腦,一我的寫,一我的看嗎?兩我的進行任務分配,每人完成本身的任務,也是一種互補的編程形式,這算不算結對編程呢?

"軟件"和"軟件工程"一詞最先被誰提出?


"軟件"一詞,最先於1953年,在Richard R. Carhart記錄的Rand公司的研究備忘錄中能夠看到。git

Carhart, Richard (1953). A survey of the current status of the electronic reliability problem (PDF). Santa Monica, CA: Rand Corporation. p. 69. It will be recalled from Sec. 1.6 that the term personnel was defined to include people who come into direct contact with the hardware, from production to field use, i.e., people who assemble, inspect, pack, ship, handle, install, operate and maintain electronic equipment. In any of these phases personnel failures may result in unoperational gear. As with the hardware factors, there is almost no quantitative data concerning these software or human factors in reliability: How many faults are caused by personnel, why they occur, and what can be done to remove the errors.github

"軟件工程"一詞,則是由Margaret Hamilton在NASA參與阿波羅11號的軟件研發中提出的。編程

版本管理軟件和項目管理軟件


版本管理系統

  • Git

Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到很是大的項目版本管理。分佈式相比於集中式的最大區別在於開發者能夠提交到本地,每一個開發者經過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。electron

  • Mercurial

Mercurial 是一種輕量級分佈式版本控制系統,採用 Python 語言實現,易於學習和使用,擴展性強。其是基於 GNU General Public License (GPL) 受權的開源項目。分佈式

  • GitHub

GitHub是一個開源代碼庫,擁有140多萬開發者用戶。隨着愈來愈多的應用程序轉移到了雲上,Github已經成爲了管理軟件開發以及發現已有代碼的首選方法。單元測試

  • bitbucket

BitBucket 是一家源代碼託管網站,採用Mercurial和Git做爲分佈式版本控制系統,同時提供商業計劃和免費帳戶。它和github的一個區別就是能夠無限制的建立免費私有團隊(固然有人數限制)。學習

(未完待續)測試

相關文章
相關標籤/搜索