一丶 My Blog Introduce
--My blog address
--Self introductionhtml
我是來自計算機科學與技術2018級的姚志昆,在完成此次軟件工程基礎第一次做業的時候,發現是十分吃力的。不只僅在於代碼量上,更在於對基礎編程軟件的陌生,好比正在使用的Visual Studio Code,當初高考填報志願時,6個志願中5個計科方面的,但卻去了土木工程,僅僅靠在大一下期轉專業過來以後學習的知識來完成此次做業也是十分困難的,其中緣由有種種,我將會在以後一一講述。都是晃眼就從高考完到了現在的大二了,小一年的對編程知識的學習也讓我對編程從最開始的些許畏懼,到了如今的有些感興趣。上大學前,惟一的興趣就是籃球和打打遊戲了。高二纔開始打球的我,漸漸迷上了歐文,雖然高中壓力逐漸增大,可是依舊擠着時間去打球,好比二晚下課的15分鐘,提高本身的控球技術。等上了大學以後,想要在大學中接觸新鮮事物的我,也逐漸對羽毛球、網球等運動感興趣了,正所謂「身體是革命的本錢」,這會對咱們之後的工做也打下必定的基礎。
二丶 Reading & Thinking
前端
1.當初是如何作出選擇如今專業的決定的? |
打遊戲也能夠算是我對計算機開始感興趣的開始,由於之前家裏電腦不怎麼樣,運行很卡,動畫顯示效果也差,打遊戲卡成PPT,就本身網上百度怎麼在在顯卡配置沒法改變的基礎上,提高電腦的動畫顯示效果。有個遊戲叫作「Minecraft」——個人世界的沙盒遊戲,裏面須要配置的東西就是Java,而這款遊戲也是由它編寫的。
爲了更好的瞭解其原理,我終究仍是來到了如今的專業,努力成爲一個優秀的IT構架師。java
2.過去一年是否符合專業期待,爲何? |
3.你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎? |
4.未來你會選擇從事和你專業相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由。 |
5.自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。 |
6.離成爲一個合格的本科畢業生,在專業知識、技能、能力上還差距哪些? |
7.對照以上你閱讀的前人們的經歷,你的選擇是什麼? |
二是興趣和熱情只能讓你很執着,但並不必定能讓你走好這條路,只有你的能力和你的強項才能讓你走好這條路。有了興趣和熱情以後,只是作到了基礎條件,想要在這條路上越走越遠,那麼你就要注意本身的學習方法進而提升本身的學習效率依舊編程效率。IT做爲一個快速更替的行業,知識體系都是突飛猛進的,不能中止對新知識的學習,並選擇一個方向作到深刻掌握,作到一個公司沒有人作到,只有你一我的才能作到,讓其成爲你的強項,才能讓你更被重視,才能作到不被淘汰。python
三是你的職位,薪水,只不過是你能力和經歷的附屬品。當你的能力、閱歷十分突出的時候,公司須要你的能力,那麼你提出的薪資要求、福利要求都將不會成爲問題。所以提高本身的能力纔是最關鍵的,在學習的過程當中,不要一味的爲了薪水二區作事,而是爲了提高自我而去作去學。程序員
8.在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢? |
9.針對你的選擇,你給本身的大三設定的規劃安排是什麼? |
10.你對於實現本身的夢想已經作了或者計劃作什麼樣的準備? |
Q2 領導力究竟是什麼?
Q2 來自於《現代軟件工程-構建之法》P379 領導力
A2領導力分爲不少種,有「單一項目中的領導」—— Leadership in a project、也有「思想上的領導」——Thought leadership、還有「技術上的領先和指導」——Technical leadership。不一樣的領域(思想或行爲)有不一樣的領導力的標準,而領導力有四大要素——設定目標——知人善任——帶領團隊成長——績效管理.web
Q3 結對編程有什麼用?
Q3 來自於《現代軟件工程-構建之法》P79 兩人合做
在結對編程模式下,一對程序員肩並肩、平等地、互補的進行開發工做。他們並排坐在一臺電腦前,面對一個顯示器,使用同一個鍵盤、同一個鼠標一塊兒工做。一塊兒分析,一塊兒設計,一塊兒寫測試用例,一塊兒編碼,一塊兒作單元測試,一塊兒作集成測試,一塊兒寫文檔。使得他們在高速度中完成任務,可是任務有較高的技術要求,任務失敗的代價也很高。單獨一我的設計、實現軟件的過程當中難免要飯這樣那樣的錯誤。在結對編程中,由於有隨時的複審和交流,程序各方面的質量取決於一對程序員中各方面水平較高的哪一位。這樣,程序中的錯誤就會少得多,程序的初始質量也會高不少,這樣會省下不少之後的修改、測試的時間。使得兩人合做解決問題的能力更強,相互激勵,互相講解從而受到激勵,努力提升本身的水平,提出更多的創意。算法
Q4 如何避免軟件工程師的思惟誤區?
Q4 來自於《現代軟件工程-構建之法》P48 軟件工程師的思惟誤區
思惟誤區主要由三個方面,一是分析麻痹,一種極端狀況是想弄清楚全部細節、全部依賴關係以後再動手,心理上過於悲觀,不想修復問題,出了問題都賴在相關問題上。分析太多,卻不想動手,所以,我認爲要適當分析問題以後,努力邁出第一步,而後再將一步一步編寫代碼,不要急於求成。其次是過早優化,軟件的軟字就在於它的可塑性,一個複雜的軟件彷佛不少模塊均可以變得更好,一個工程師在寫程序的時候,常常容易在某個局部問題上陷進去,花大量時間對其優化。無視這個模塊對全局的重要性。所以過早的優化是不可取的,要在大框架無錯誤正常運行的條件下才開始優化。再者是過早擴大化和泛化,在寫一個程序的時候,須要某個函數能夠處理整數類型和字符串類型的信息,所以有的程序員就會提早將其類型抽象出來,可是太好高騖遠了。數據庫
Q5 如何正確的計劃和估計?
Q5 來自於《現代軟件工程-構建之法》P169 計劃和估計
想要作到合理的計劃和估計,那就必定要在目標、估計和決心三者間作到一個平衡。軟件項目的延遲在行業中比比皆是,在估計以前,咱們能夠考慮前任的經驗,另一個方法是快速原型法——用一兩個先鋒去探路。其次,也要對產品的因素,平臺的因素,人員的因素,項目的因素四者都考慮到。而在計劃中,咱們能夠分而治之,提升人員能力的利用效率,所以咱們能夠把大型項目化整爲零,作到團隊中每一個人均可以同時工做,將其化爲一個個子節點,最後再歸爲根節點。編程
四丶Source program version management tools小程序
1.GitHub
參考百度文庫
優點主要有如下七點:
一、GitHub 只支持 Git 格式的版本庫託管,而不像其餘開源項目託管平臺還對CVS、SVN、Hg 等格式的版本庫進行託管。GitHub 的哲學很簡單,既然 Git 是最好的版本控制系統之一(對於不少喜歡 Git 和 GitHub 的人沒有之一),沒有必要爲兼顧其餘版本控制系統而犧牲 Git 某些獨有特性。所以沒有支持其餘版本控制系統的歷史負擔,是 GitHub 成功的要素之一。
二、GitHub 對 Git 版本庫提供了完整的協議支持,支持 HTTP 智能協議、Git-daemon、SSH 協議。
三、GitHub 提供在線編輯文件的功能,不熟悉 Git 的用戶也能夠直接經過瀏覽器修改版本庫裏的文件。
四、將社交網絡引入項目託管平臺是 GitHub 的創舉。用戶能夠關注項目、關注其餘用戶進而瞭解項目和開發者動態。
五、項目的 Fork 和 Pull Request 構成 GitHub 最獨具一格的工做模式。對提交代碼的逐行評註及 Pull Request 構成 GitHub 特點的代碼審覈。
六、GitHub 經過私有版本庫託管、面向企業的版本庫託管和項目管理平臺、人員招聘等付費服務得到了商業上的成功,這種成功使得 GitHub 沒必要以頁面中嵌入廣告的方式維持運營,最大的受益者仍是用戶。
七、GitHub 網站採用 Ruby on Rails 架構,在 Web 設計中運用了大量的JavaScript、AJAX、HTML5 等技術,支持對使用 Markdown 等標記語言的內容進行渲染和顯示等。關注細節使得 GitHub 成爲了項目託管領域的後起之秀。
劣勢
1.使用Jekyll模板系統,至關於靜態頁發佈,適合博客,文檔介紹等。動態程序的部分至關侷限,好比沒有評論,不過還好咱們有解決方案。
2.基於Git,不少東西須要動手,不像Wordpress有強大的後臺。
2.Microsoft TFS
優勢
1.由數據庫存儲源碼——性能高
2.與開發工具無縫集成——簡便
3.源碼管理無存儲限制——可靠
4.代碼分支結構可視化管理
5.有誤刪除恢復保護
6.內置BUG管理工具、提升開發效率
7.管理項目生命週期測試用例
8.根據項目完成狀況自動編譯測試源碼
缺點
1.搭建、維護tfs比較複雜。
2.硬件要求比較高。
3.Apple XCode
參考百度文庫
優勢
一、蘋果公司向開發人員提供的集成開發環境(非開源),用於開發Mac OS X,iOS的應用程序。
二、無論是使用C、C++、Objective-C或Java編寫程序,在Apple Script裏編寫腳本,仍是試圖從另外一個奇妙的工具中轉移編碼, Xcode 編譯速度極快。每次操做都很快速和輕鬆。
三、蘋果公司爲用戶提供了全套免費的Cocos程序開發工具(Xcode),和Mac OS X一塊兒發行,在蘋果公司官方的網站下載。
缺點 1.報錯難以辨別出錯地方。