1. 程式人生 > >201621123063葉斕湞 第一周實驗報告

201621123063葉斕湞 第一周實驗報告

inf eat 一聲 截圖 作者 編寫代碼 在一起 也有 ref

Task1:註冊個人博客賬號

https://www.cnblogs.com/Yelz/

技術分享圖片

Task2:註冊碼雲賬號

技術分享圖片

Task3:提出問題

快速通讀教材《構建之法》,並參照提問模板,提出5個問題。
如何提出有價值的問題? 請看這個文章:http://www.cnblogs.com/rocedu/p/5167941.html ,以及 在互聯網時代如何提問題。 還有這些要點:

  • 在每個問題後面,請說明哪一章節的什麽內容引起了你的提問,提供一些上下文
  • 列出一些事例或資料,支持你的提問。
  • 說說你提問題的原因,你說因為自己的假設和書中的不同而提問,還是不懂書中的術語,還是對推理過程有疑問,還是書中的描述和你的經驗(直接經驗或間接經驗)矛盾?
    一個模板可以是這樣:

我看了這一段文字 (引用文字),有這個問題(提出問題)。 我查了資料,有這些說法(引用說法),根據我的實踐,我得到這些經驗(描述自己的經驗)。 但是我還是不太懂,我的困惑是(說明困惑)。

或者這樣:

我反對作者的觀點(提出作者的觀點,自己的觀點,以及理由)。

大學生應該能寫出自己的思考, 而不是摘抄書本內容。

提示:編程經驗不多的同學,建議看16章 “創新”, 提出自己的問題。

① :一個軟件的好壞是通過Bug的多少來衡量的嗎?

p15 軟件工程的目標--創造“足夠好”的軟件,在p16裏面講到了一個 軟件行業中的著名笑話:it‘s not a bug,it‘s a feature。在這個笑話後面筆者講訴了破洞褲和汽車的例子,雖然破洞褲和質量“不夠好”的汽車在某種意義上是等同於bug,但我不認為這說明了在編寫代碼時出現bug也是一個特點,亮點。

②:代碼一定要做到100%的覆蓋率嗎

在p27提到以下內容

d. 進一步說,“覆蓋率”有下面幾個層次:

  • 1.函數的覆蓋,這個模塊的每一個函數都覆蓋了麽?
  • 2.語句的覆蓋,這個模塊的每一個語句都覆蓋了麽?
  • 3.分支的覆蓋,這個模塊的每一個條件分支都覆蓋了麽?
  • 4.條件的覆蓋,這個模塊的每一個布爾表達式的TURE|FALSE都覆蓋了麽?

答:作者認為覆蓋率包括了函數的覆蓋,語句的覆蓋,分支的覆蓋,條件的覆蓋。
100%的代碼覆蓋率就能讓代碼沒有bug了嗎?而且100%的覆蓋率真的很必要嗎?我認為100%代碼覆蓋率不等於100%代碼正確性。並且100%的代碼覆蓋率會增大程序員的負擔做一些多余的測試 耗費人力

③:結對編程的效果真的比獨自完成編程效果好嗎

答 :在p85中作者提到為什麽要結對編程,作者認為結對編程能提高設計質量和代碼質量,可以提高自己的水平,但也提及了程序的各方面質量取決於一對程序員中各方面水平的一端,我認為結對編程並不適用於所有群體,編程水平差距大的兩個人結對編程會造成 會的人更會,不會的人依舊不會。並且和他人共同完成經常會因為沒有協調好而打斷思路等現象發生。

④:團隊和非團隊

A.在講團隊之前。我們要講講什麽是“非團隊”。
王屋村裏經常發生這樣的一幕:
王屋村的居民大智要把一堆磚頭從村頭搬到村尾他來到頂球酒吧前,看到前面三三兩兩地蹲著一些人,有些人面前放著一塊包裝箱紙板,上面寫著“Java,五毛一行”;“網頁前端,不酷不要錢”;“專做PS,擅長人體”;“通吃SQL、NoSQL",等等。
大智沖這些人喊了一嗓子: 搬磚的有沒有?一百塊磚一毛錢! 地上蹲著的一些人擡頭看了看,有一兩個人慢慢站起來了。大智看了看人數,又喊了一聲: 中午有盒飯! 這時七八個人都站起來了.拍拍尼股就湊到大智面前。大智就帶著他們走了。
這七人個人是團隊(Team)麽? 不是,他們只是一群烏合之眾,臨時聚集在一起,各自完成任務就領錢走人。--《構建之法》第五章-團隊與非團隊

B.可以看出,團隊有共同的特點:
1.團隊有一致的集體目標,團隊要一起完成這目標。一個團隊的成員不一定要同時工作,例如接力賽跑。王屋村搬磚的“非團隊”成員則不然,每個人想搬多少就搬多少,不想幹了就結算工錢走人。
2.團隊成員有各自的分工,互相依賴合作,共同完成任務。王屋村搬磚的“非團隊”成
員則是各自行動,獨立把任務完成,有人不醉而別,對其他的搬磚人無實質影響。--《構建之法》第五章-團隊與非團隊

C.軟件團隊的其中幾種模式有

  • 主治醫生模式 即“一個學生幹活,其余學生跟著打醬油"
  • 明星模式
  • 社區模式 容易出現”大家只來烤火,不去拾柴,或者撿到的柴火質量太差,容易熄滅“
    答:在上訴兩個講述團隊和非團隊中 說到團隊有一致集體目標,在A中講述的非團體中 他們也有一致的目標 搬磚,為什麽不能稱之為團隊,在團隊模式中若出現了 如C中所提及的團隊 該怎麽辦?團隊的組成使人產生惰性,不用付出太多也有回報,那這時,非團隊模式是否是更優的模式

⑤第16章 IT行業的創新

一提到發明創造,很多人會想起傳說中聰明人頓悟的故事

  • 阿基米德在洗浴城裏泡澡,忽然跳出浴池,跑到大街上,大喊“Eureka"--他老人家發現了浮力定律
  • 牛頓同學當年坐在樹下,忽然一顆蘋果砸在他頭上--他靈機一動,揭示了萬有引力等定律
    這些故事很有意思,但是他們沒有提到這些科學巨人在頓悟之前已經在相關學科下打下了深厚的基礎,同時他們也為這些問題進行了長時間的思考,看似神奇的時刻才會光顧他們,這些故事的引申是--他們都是獨立工作,沒有一個阿基米德團隊或者”牛之隊“在背後支持

答:這段話的意思是在說團隊沒有那麽重要嗎?

Task4:Git基本操作練習

完成以下Git基本操作
1. 將https://gitee.com/happyfaye/SoftwareEngineering倉庫fork到自己的賬號下
技術分享圖片
技術分享圖片
技術分享圖片

2.將遠程倉庫clone至本地倉庫

技術分享圖片

3.在本地倉庫添加學號姓名.txt(例如:201621123000happy.txt),並提交至遠程倉庫

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

4.在本地修改該文本內容並再次提交
技術分享圖片
技術分享圖片

給出提交歷史信息截圖

201621123063葉斕湞 第一周實驗報告