一、First項目位址:https://git.coding.net/Jingr98/First.git
二、http://mindhacks.cn/2009/05/17/seven-years-in-nju/《我在南大的七年》讀後所想
讀了劉未鵬先生的這篇文章,我開始審視自己寫部落格的方式,重新讓我有了堅持寫部落格的打算。剛剛步入大二的時候,在學長學姐們的建議下我注冊了一個部落格賬戶,當時并未體會到寫部落格帶來的收獲,開始的時候隻是順手記下一些東西(甚至就隻有複制黏貼),因為沒有體會到此舉的意義所在,就不再堅持了。現在回想,大概是因為自己沒有好好地寫過一篇部落格,沒有想清楚自己為什麼要寫,想要記錄下哪些東西,這些東西對于我個人未來發展有什麼用處。當我開始思考這些問題時,原來簡單的記錄工作就變得不一樣了,我需要對自己的所學進行整理總結,有所選擇地進行二次整合,思考哪些東西值得我記錄以及我想給别人展示什麼東西。寫部落格不僅是一個記錄的過程,也是一個思考所學、知識升華的過程,“溫故而知新”,引發更多的思考進而延伸出更多知識。另外,我們也可以以部落格會友,結交一些志同道合的小夥伴,互相交流學習,共同進步。總之,要認真寫博了。
問題1:你為什麼選擇計算機專業?你認為你的條件如何?和這些部落客比呢?
當初選擇志願時,有幾個原因促使我選擇了計算機專業。一是因為我在日常生活中最直覺的感受。當下科技的進步和資訊事業的迅猛發展,尤其是計算機技術的發展與網絡應用的逐漸普及,計算機已成為人們工作和生活中不可缺少的東西。是以我想要學習計算機,想要了解計算機是如何影響和改變我們的生活的;二是我認為從事IT行業是一件很酷炫的事情。智能化已經漸漸融入我們的生活,随着智能化時代的到來,網際網路與人們的衣食住行越來越緊密結合,除了享受科技帶來的震撼外,我想要參與其中;三是IT行業迅猛發展,就業工作崗位也比比皆是,未來發展前景也很好。
目前我已經度過了兩年的大學生活,在整個學習過程有了一定的自我認知。可以按要求完成學習任務,自學能力也不錯,如果樹立了目标,可以長期堅持地向目标方向努力,盡力去完成。跟這些部落客相比,我有很多有待改進的地方。自我反思如下:一是做事缺乏計劃性和時間觀念,在沒有時間規定的前提下去完成一些事情難免會伴随着惰性,這樣一來進步的空間就變小了;二是缺乏強大的自制力,在某些時候不能嚴格要求自己,也許在那些看似是終點的地方還可以再往前走一步。
問題2:你理想的大學應該是什麼樣子的?
這個問題真的讓人有太多想法了......
作為一名大三學生,現在回想自己沒上大學前的想法,那時我理想的大學簡直就是偶像劇裡的樣子,或者是說偶像劇誤導了我對大學的認知。那時我對大學有很多幻想,住在有沙發有空調的豪華較高價的電梯大廈,參加各種各樣的社團,結交五湖四海的朋友,和朋友騎着自行車閑逛……總之描繪了一種很惬意閑适的大學生活,想了很多,唯獨沒有思考大學裡我的學習生活會是什麼樣的。現在看來,自己真的是該想的沒想,不用想的想了一大堆。
現在我理想的大學生活,大概是圍繞着自由。時間支配自由,沒有了高中繁重的課程任務,有了更多的空閑時間,可以做自己想做的事情;課程選擇自由,最開心的莫過于你走進大學裡的任何一個課堂都是被允許的,可以學習自己感興趣的;個人發展自由,大學生活豐富多彩,有各種各樣的講座,有百家争豔的社團,你可以遵循内心做選擇。
問題3:對于你未來在IT行業的發展,你有什麼樣的夢想或者未來想從事什麼樣的工作?你準備怎樣來規劃你技術道路,職業道路和社會道路?
我想在未來從事有關人工智能方面的工作。可能對于目前大學階段來說,學校為我們提供的平台有限,有關人工智能、資料挖掘、機器學習、深度學習等較前沿方面的學習資源和硬體設施匮乏,是以想要深入學習相關知識是有一定難度的。但是知識也是慢慢累積的,大學階段本就是夯實基礎,在充分了解這個領域後選擇适合自己發展方向的一個過程。是以我計劃目前階段學好基礎專業知識,為未來更深入的學習做好準備。另外利用網上優質資源進行自我學習,理論與實踐相結合,豐富知識的積累,開拓視野。
三、有關《建構之法》的五點思考
1.在第3章有關軟體工程師的思維誤區部分講到:我們産生思維誤區的原因是因為在軟體開發的過程中, 軟體的各個子產品之間存在着各種複雜的依賴關系,然而這些依賴關系很難定義清楚。在我自身的學習實踐中,對問題的分析也确實出現了這樣的思維誤區,甚至可以說一個團隊中有的人“想的太多”,有的人“想的太少”。雖然我也知道這樣是不正确的,但是又很難避免。是以我想問在實際的軟體開發分析工作中如何能在對依賴關系的兩種極端态度中找到一種很好的平衡呢?或者說我們可以提前做些什麼工作來避免産生這些思維誤區?
2.在第12章講使用者體驗和品質的關系時,書中用GE公司的一個小例子說明當使用者體驗和産品品質有沖突時我們該如何在兩者之間進行取舍,在特定的場景下我們可以犧牲一些産品品質來換取使用者的良好體驗。那麼根據這樣的觀點,是不是可以認為使用者體驗在軟體開發的過程中占據很重要的地位,雖然它跟軟體的功能用途關系不大,但在某些時候卻可以影響軟體設計的整個走向?
3.在第2章提到了單元測試,講述了在團隊合作時利用單元測試可以避免軟體的很多錯誤,并且各個成員負責的子產品功能定義明确、各個子產品間互不影響,進而保證了子產品的品質。在我的經曆中,進行團隊合作時往往省略了單元測試,隻是在開發前每個人根據自己負責的子產品寫一份詳細的說明文檔來友善自己和他人熟悉代碼。是以我想問,如果每個人能對自己負責的子產品寫份詳細的說明文檔,是不是就可以不用進行單元測試了?因為在後續軟體開發完成時團隊還要進行詳細的測試工作,那麼在這個階段是不是可以用說明文檔代替單元測試工作?
4.第8章講了很多需求分析的方法,跟我以往所了解的方法相比,更加的全面和細緻。我的困惑在于應該如何對調查完的結果進行分析。倘若使用者的意見種類多且比例配置設定相差不大時我們應該如何取舍?可不可以簡單地定義一個比例做參考,當使用者的意見人數達到這個比例時我們才采納,這樣做會不會影響需求分析結果的準确性?
5.第6章講了有關“靈活”的一些概念,我在讀靈活開發的原則時有一些困惑:“靈活”是基于時間提出的嗎?加快開發程序、縮短開發時間是不是就是在進行靈活開發?“靈活”大旗下幾種軟體開發方法論的最終目的都是在提高開發速度嗎?那如果團隊要進行靈活開發,是不是要以開發人員的時間與精力為代價?