軟工第1次我的做業

軟工第1次我的做業

項目 內容
這個做業屬於哪一個課程 2019春BUAA SCSE軟件工程
這個做業的要求在哪裏 第1次我的做業
我在這個課程的目標是 學習團隊開發項目,爲之後的工做提供經驗
這個做業在哪一個具體方面幫助我實現目標 閱讀了《構建之法》,瞭解到了軟件工程的思想

1.快速看完整部教材,列出你仍然不懂的5到10個問題,發佈在你的我的博客上。

1.關於結對編程的效率

既然代碼複審能發現這麼多問題,有這麼好的效果,若是咱們每時每刻都處在代碼複審的狀態,那不是很好麼?事實上,極限編程(Extreme Programming)正是這一思想的體現——爲何不把一些卓有成效的開發方法用到極致(Extreme),讓咱們無時不刻地使用它們?
-- 引用自《構建之法》4.5 結對編程 P78git

在結對編程模式下,一對程序員肩並肩、平等地、互補地進行開發工做。他們並排坐在一臺電腦前,面對同一個顯示器,使用同一個鍵盤、同一個鼠標一塊兒工做。他們一塊兒分析,一塊兒設計,一塊兒寫測試用例,一塊兒編碼,一塊兒作單元測試,一塊兒作集成測試,一塊兒寫文檔,等等。
-- 引用自《構建之法》4.5 結對編程 P79程序員

這樣的結對編程真的是有效率的方法嗎?它和普通的兩人團隊效率會更好嗎?最初的結對編程多是由於資源的不足,可是現現在可能除了時間之外的資源都是充足的,這種傳統意義上的結對編程是否是會太過於消耗時間?賽車和飛機裏駕駛員和領航員是不能同時開飛機,但對於代碼的撰寫能夠兩人同時撰寫,再抽出必定的時間進行審查,是否會比這種純粹的結對編程效率高?github

2. 關於goto語句

函數最好有單一的出口,爲了達到這一目的,可使用goto。只要有助於程序邏輯的清晰體現,什麼方法均可以使用,包括goto。
-- 引用自《構建之法》4.3 代碼設計規範 P69編程

在我最開始學習C語言(《C Primer Plus》)的時候,我記得很清楚,書上關於goto語句的態度就是不建議使用,我也常常據說不建議使用goto語句,由於goto語句確實可能存在着必定的問題,並且很難被本身發現,儘管goto語句在某些狀況很是好用,好比在上學期的編譯課程設計裏對於各類各樣的錯誤處理,使用goto語句會很是的簡單,可是我最終仍是沒有采用,而是使用了大量的if-else和return語句來進行處理。我我的仍是不太喜歡使用。服務器

3. 迷思之四: 創新者都是身先士卒

的確,如書中所提到的有些行業的先行者到了後來並非該行業的領導者,可是我以爲這正是由於該行業的後來者的創新而致使的,因爲後來者的創新,他們有了新功能,有了更加吸引消費者的地方,所以他們才能成爲領導者,創新也才能身先士卒。網絡

4. 用戶體驗之不讓用戶犯簡單的錯誤

我以爲在如今,讓用戶犯簡單的錯誤卻成了一種設計——如今不少的常見的軟件老是將廣告塞在巧妙的地方,不仔細看都不會發現那小小的「廣告」兩個字,好比微博中常常就有這種廣告,配以誘惑性的圖片和文字,當手指移過去才反應過來這是個廣告。這種廣告必定程度上影響了用戶的體驗,卻可能提升了廣告的效應同時可能增大了企業的利益,那麼該如何平衡項目受益以及用戶體驗呢?同時,提升用戶的體驗勢必要付出更多的代價,這裏又該如何平衡呢?分佈式

5. 迷思之五:要成爲領域的專家,才能創新

70%的創新者說,他們最成功的的創新,是在他們的那首領域以外發現的。
-- 引自《構建之法》16.1創新的迷思 P347函數

我認爲這的確是個迷思,我以爲其中的緣由多是當一我的成爲了某一行業的專家,那麼他確定是有着必定的研究方向,其產生創新的機率就比那些剛入門的人小,由於他頗有可能會堅持這本身的方向去鑽研。那咱們又該如何避免這一問題出現呢?畢竟咱們也是要一直研究、一直學習的,是否是意味着,咱們到後來也將沒法產生創新?被後人所追趕?gitlab

2. 請問 「軟件」 和 「軟件工程」 這些詞彙是如何出現的 - 什麼時候、何地、何人?

  • 根據維基百科,「軟件」這一律念最先是Richard R. Carhart在出版於1953年8月的蘭德公司研究備忘錄(Rand Corporation Research Memorandum)裏出現的。單元測試

  • 「軟件工程」這個詞在1965年6月就在計算機與自動化的期刊被提出了(來源維基),但瑪格麗特·漢密爾頓則在1968年北約的科學家們所開的一屆會議上比較正式的提出了這一個概念,使之成爲一種專業術語。

3. 你們知道了軟件和軟件工程的起源,請問軟件工程發展的過程當中有什麼你以爲有趣的冷知識和故事?

  1. 最開始的電腦的操做員都是女性,由於她們被認爲更加細心(這個可能已經不算是冷知識了)。
  2. 前段時間火爆的產品經理和程序員打架,網絡傳言是產品經理要求APP主題跟隨用戶手機殼顏色改變(其實已經被證明爲謠言),引發了網友的大量討論,好比採用瞳孔反射來判斷用戶手機殼等等奇妙的想法,也引發了許多程序員相似的抱怨。

4. 上網調查一下目前流行的源程序版本管理軟件和項目管理軟件都有哪些, 各有什麼優缺點?

  1. github目前已經有了超過3100萬開發者。(數據來源
  2. BitBucket目前有超過100萬個團隊以及600萬名開發者。(數據來源
  3. gitlab目前已經有了超過10萬個組織。(數據來源
軟件 優勢 缺點
Microsoft TFS 強大
集成了多種功能,適合團隊使用
搭建起來複雜,難以維護
Git 分佈式版本控制
易於控制,很是靈活
命令太多,學習起來難度略大
Mercurial 命令行
簡潔
服務器部署相對容易
執着於向後兼容
GitHub 免費
開源
基於Git
依賴於網絡
Bitbucket 支持hg(Mercurial?)和Git
免費閉源
限制人數

來源:

  1. https://www.zhihu.com/question/21943395/answer/27222595
  2. https://www.zhihu.com/question/20403480/answer/25068499
  3. https://www.zhihu.com/question/20053312/answer/20005315
相關文章
相關標籤/搜索