在粗粗瀏覽過《構建之法》這本書後,發現做者帶着咱們把軟件工程相關梳理了一遍。從軟件工程是什麼,如何提高我的代碼能力,團隊合做的技巧和流程,產品有需求到軟件實現,後期的軟件測試和質量等等。書裏有不少的問答題,實際上當我看到一個概念,對這個概念的疑問和茫然也在這些提問與回答中獲得瞭解釋。git
1.關於代碼互審,形式有自我複審、同伴互審和團隊互審這三種,如何肯定程序員須要的互審形式是什麼呢?程序員
書上對於代碼互審有詳細的解釋,也向咱們展現了它的各類好處,可是程序員敲代碼時遇到的狀況是多種多樣的,多變的需求不一樣的軟件甚至有時用到多種編程語言,水平不至關如何互審?github
2.有時候會想,我只是很簡單的學習了軟件,只是會編寫很簡單的代碼,並且咱們是不相關的專業,之後出去找工做真的能找到一份相關的好工做嗎?儘管第三章講解了如何成爲一名「軟件工程師」,如何檢測本身是否爲合格的工程師。書中的第45頁詳細的介紹了「初級工程師的成長」,我也在反思本身有沒有作到書上的其中一點,怎麼才能作到。編程
3. 軟件的產生須要的是一個團隊,一我的是能夠寫代碼,但寫出來的都是一些功能相對簡單,含有較多bug的代碼,可是團隊不只能夠避免這種狀況,團隊不只有一致的目標,並且分工明確,互相依賴合做共同完成任務,這樣能夠大大提升軟件的生產時間和軟件利用率,這也是爲何要有團隊的緣由。第五章85頁開始介紹了幾種軟件團隊模式,看起來每一種都有本身的優點。對於沒有團隊合做經驗的我來講,應該怎麼去選擇合理有效的模式呢?ssh
4.當團隊分工的時候,每一個人寫本身的代碼,有時候代碼的融合與交互可能花的時間比我的的完成的時間還多,那該如何斷定是否進行分工?編程語言
5.第七章的7.2.3的充分受權和信任(P125)中曾說過MSF的團隊模型是網狀而不是層次結構,雖然一問一答中解釋了網狀模型的好處,但我仍是有一點不明白,就是我能夠不能夠這樣理解網狀模型,一是指團隊間每一個成員的平等性,就是不存在約束性,你們都是爲了共同的前景努力的,那會不會出現這樣一種狀況,既然你們的目標同樣,要是存在一些打醬油的怎麼辦呢?是否是意味着這個就須要一個上級來約束這些成員呢?而層次結構剛好有這個功能,可不能夠將網狀模型和層次模型相結合,這樣就能夠避免這種狀況出現,並且又能將團隊利益最大化。post
完成如下Git基本操做學習
1. 下載安裝配置用戶名和郵箱。測試
(1)下載安裝Github配置網站
(2)配置用戶名命令:$git config --global user.name "Ava"
(3)配置郵箱命令:$git config --global user.email "1942728887@qq.com"
(4)查看用戶名命令:$git config --global user.name
(5)查看郵箱命令:$git config --global user.email
2. 建立工做目錄並經過git init命令把這個目錄變成Git能夠管理的倉庫。
(1)進入F盤命令:$cd f:/Git/code
(2)將當前目錄變成Git能夠管理的倉庫的命令:$git init
3. 在工做目錄下準備文本文件
4. 組合用git addgit、 commit、git status 把文件提交到倉庫。
(1)查看當前文件狀態命令:$git status
(2)將文件添加到倉庫命令:$git add "hello.txt"
(3)將文件提交到倉庫而且添加文件信息命令:$git commit -m "welcome!"
5. 練習提交三個或以上的版本。
6. 組合使用git diff、git log、git reset命令進行版本管理與回退,觀察文件變化。
(1)查看具體修好了什麼內容命令:$git diff (注意:須要在修改以後提交以前使用)
2)顯示從時間從最近到最遠的提交日記命令:$git log
(3)單行顯示版本信息命令:$git log --pretty=oneline
(4)回退到前面某一版本命令:$git reset --hard 60b5
從第四版本回退到第二版本,再回到第四版本
7. 將Git倉庫託管到GitHub網站上。
(1)建立SSH Key命令:$ssh-keygen -t rsa -C "1942728887@qq.com"
(2)登陸Github,打開"Setting","SSH and GPG Keys"頁面,點"New SSH Key",自定義填寫「title」,在"Key"文本框裏粘貼id_rsa.pub文件的內容:
8. 把本地倉庫的內容推送到GitHub倉庫。
(1)在Github右上角,點擊「+",而後點"New repostory",在"Repostory name"填寫倉庫名稱,最後點擊"Creat repostory"
(2)刷新頁面,獲取遠程倉庫"Test20180922"的連接
(3)創建本地倉庫與遠程倉庫相連命令:$git remote add origin git@github.com/AvaSiam/Test20180911.git
(4)將本地倉庫的內容推送到Github倉庫命令:$git push -u origin master
(5)查看本地推送至遠程倉庫的內容: