1.根據書中「除了前20的學校以外,計科和軟工沒有區別」因此計算機科學這個專業也許在咱們學校是和軟件工程有區別的,可是能夠料想的是大多數人未來都會是碼農,那麼咱們專業和其餘學軟件工程的人相比有什麼優點呢?html
2.既然用戶的需求是不斷變化的,那麼如何才能在設計過程當中最大限度地使得軟件易於擴展?另外一方面,若是這樣考慮會不會又進入了過早優化的思惟誤區呢?python
3.項目經理看起來是一個須要具備多領域知識的人(管理、營銷、計算機),但大多數人都不會在大學畢業時就具有這些知識,那麼若是未來想成爲項目經理,如今能夠作什麼準備呢?各個部分的知識須要掌握多少?git
4.團隊開發中一個比較困難的問題是,團隊成員之間如何更有效地溝通?特別是在學校的時候咱們除了軟工之外還有不少課程,平時也很忙,這樣成員之間的溝通就很是困難了。算法
5.第四章中提到,變量命名的時候須要避免沒必要要的修飾詞,判斷必要或者沒必要要的方法是問本身,可是這種方法是否太過武斷?畢竟看程序的都不是寫程序的,對本身易懂,對別人就必定易懂嗎?網絡
6.16章中討論了技術創新的問題,並用金錢和知識的轉換過程來闡明科研和創新之間的關係,可是科研和創新是否真的是對立的過程?Viterbi創造的Viterbi算法讓無數人受益,也讓他得到了名譽和金錢,因此這二者之間也許並不是是對立的,畢竟工業界的要求是要work,科研須要的東西也包括這一點。分佈式
軟件:文獻記載中軟件一詞是在1953年由Richard R. Carhart提出,1958年John Tukey也在一篇論文中使用了這個詞,這是軟件一詞在電子類文獻中最先出現的記錄。工具
軟件工程:Margaret Hamilton 1968年在阿波羅11計劃中提出了軟件工程這個詞彙,她提出這個詞語的緣由是由於當時軟件還不受到你們的尊重,因此她但願爲軟件以及它們的發明者爭取應有的正統性和尊重,因此她使用「軟件工程」這個詞彙來將之與硬件還有其餘工程學類作出區別。可是,Peter Naur和Brian Randell是第一次在正式文獻中使用這個詞的人。性能
名稱 | 具體信息 | 優勢 | 缺點 |
Microsoft TFS | 全稱爲Team Foundatioin Server,是微軟研發的提供源代碼管理、項目管理、測試發佈管理等功能的工具。它的功能涵蓋了軟件開發的整個生命週期 | 功能強大基本沒有其它相似的工具,和VS無縫對接。 | 訪問速度慢,不適用於需求較少的小團隊 |
Git | Linus開發的免費開源的分佈式源碼管理系統 | 用戶羣體大,功能比較強大,分佈式管理 | 指令複雜,上手困難 |
Mercurial | 分佈式版本控制系統,簡稱hg,比較流行 | 命令行簡單,容易上手,跨平臺 | 功能比起git來略少,分支管理不靈活 |
Github | 用git作版本控制的項目託管平臺 | 容易上手,用戶量大,有issue和request | 國內訪問速度慢,還會被牆,不適合私有項目 |
Bitbucket | 同時支持git和Mercurial的項目託管平臺 | 支持免費的私有倉庫,同時支持hg和hit,支持中文 | 用戶量與git相比較少 |
Trac | Trac是一個基於python的爲軟件開發項目須要而集成了Wiki和bug跟蹤管理系統的項目管理工具,開源 | 和各類VCS輕鬆對接,性能高,免費 | 功能齊全但不強大 |
Bugzilla | 開源的bug跟蹤系統,管理軟件中bug的全生命週期 | 開源免費,處理速度快,有中文版 | 界面不友好,安裝繁瑣 |
Rationale | 一款在線繪製Arugument Map的網站 | 簡單方便,容易上手 | 功能不夠,沒有客戶端,推薦xmind |
Apple XCode | Apple開發的Mac上的IDE | mac上可用,免費 | 相較於VS功能不足夠 |
參看:
[1] https://www.zhihu.com/question/20401926
[2] https://www.zhihu.com/question/21905835
[3] https://www.zhihu.com/question/20403480
[4] https://www.zhihu.com/question/19591651
[5] https://www.zhihu.com/question/20053312
[6] http://www.cnblogs.com/mq0036/p/3725920.html測試
下圖展現了一些常見的代碼行數過百萬的軟件:
優化
通常軟件的複雜度能夠由行數衡量,咱們熟悉的Windows操做系統算是一個很是複雜的軟件了,Windows10的代碼量達到了5000萬行。 google代碼量有20億,不過這是全部google相關的網絡應用代碼相加的量。