《構建之法》第一次作業 閱讀與準備工作

2022-06-18 13:54:16 字數 4123 閱讀 9827

||||||||||

|:--|:--|

|這個作業屬於哪個課程|課程鏈結|

|這個作業要求在**|作業要求|

|我在這個課程的目標是|學習現代軟體工程思想,體驗軟體開發的過程,以及開發過程中文件的撰寫|

(1)回想一下你初入大學時對你所在專業的暢想

當初你是如何做出選擇你所在專業的決定的?你認為過去一(兩)年中接觸到的課程是否符合你對你自己所在專業的期待,為什麼?

因為在團隊學習的原因,大一的專業課在上課之前我已經學了很多,加上老師要照顧全班的進度,課堂上我的收穫不多。但到了大二,進入卓越班之後的學習才發現自己學習的內容遠遠不夠,走在自己前面的同學非常多,課程的內容也超出了我的想象。按部就班的學習是不存在的,需要自己不斷的去開拓新的領域,學習新的知識。

將來你會選擇從事和你專業相關的工作嗎?是的話給出你想去的城市、公司和崗位,否的話給出原因

我對未來的工作有很多想法還不確定,可能留在成都加入一家理想的公司慢慢成為一名工程師,也有想法回到學校做乙個計算機專業的教師。目標的大公司可能會是一些遊戲公司,或者像運營今日頭條、抖音、b站等運營自**的公司。

(2)對照前人們走過的路和描述未來發展,現在的你

自我感覺你已經具備的專業知識、技能、能力有哪些?已經寫過的**量是多少?描述你做的最複雜的專案/作業。

目前,除了已經學習過的課程以外,涉獵過的語言非常多,但是都沒有太深入的研究。寫過的**量不多,可能只有5000行多點。沒有印象特別深刻的專案,非要說的話就是在做團隊專案的時候,常常在開始階段感到寸步難行,溝通不足遇到的麻煩非常多。

離成為乙個合格的本科畢業生,在專業知識、技能、能力上還差距哪些?

大三這一年要選擇一門語言精進,練習演算法能力,繼續積累專案開發的經驗。目前看來我離本科畢業生的差距還有很多,需要繼續精進。

(3)目前是乙個人生選擇的十字路口,考研、工作、考公、出國,不同的選擇在大三就有不同的努力方向。而無論考研還是工作的每條路徑,也有許多不同的分支。

對照以上你閱讀的前人們的經歷,你的選擇是什麼?

我會選擇先就業再考慮考研,因為我希望自己能夠先做到經濟獨立,再去考慮自己的未來的進步空間。我認為將來能夠上公升到什麼高度並不是在學校可以決定的事,也就是學歷和工作經驗之間的比較。部落格[j]中談到了職業規劃的問題,我同意他的一條建議「從畢業開始到畢業後至少5年內,踏踏實實地專研技術,這是乙個積累過程,千萬不要把心思放在錢和職位上」。

在這種選擇下,你認為你相比其他同學來說有何優勢,有何劣勢?

優勢:這樣的選擇是符合我學習方法的,在學院中沒有人施加壓力,往往容易迷失自己,得不到的預計的收穫。而工作中能得到的實踐經驗對我的幫助可能更大。

劣勢:學歷低意味著選擇少,機會少,太年輕不被看好等。未來考研難度上公升,自己可能失去考研的機會。

針對你的選擇,你給自己的大三設定的規劃安排是什麼?

參加團隊的專案開發積累經驗,精進自己的技術,踏踏實實的研究技術,為工作做好準備。有硬本領才能讓公司選擇我。

你對於實現自己的夢想已經做了或者計畫做什麼樣的準備?

我沒有什麼大的夢想,能幸福的生活就好了,因此經濟是最關鍵的因素,所以一步步走進公司工作掙錢就是我的計畫吧。

1.性格在結對程式設計過程中遇到的問題

第四章末尾提出了性格對合作的影響。那麼選擇同伴一起結伴程式設計的時候,是不是把性格放在第一位,還是說應該更應該根據雙方的水平和擅長領域來,我想知道哪乙個優先順序要高一些,對開發更有幫助。

2.「讓人驚喜的功能,會極大提高使用者的滿意度」

第八章第五節,提出了這個觀點。我並不同意這樣的觀點,在遊戲上的表現最為明顯,現在有許多遊戲每年都會推出續作,例如nba2k等體育類遊戲,每年最大的改動和新的功能都體現在使用者體驗上,但嘗試很多,但往往只驚不喜,或者從預告的驚喜到實際體驗的不滿。還有任天堂公司在遊戲手柄上新增了心率測試器,當在遊戲進行到激動人心的點時,玩家的心率會同時反映在螢幕上的圖示中,但實際上玩家對此也沒什麼感覺。這些功能在沒有對比的時候很難顯示出它的廚師,但往往這些功能有了前後對照之後就可以體現出,那麼在新型別的軟體開發時,是不是可以有一些「藏著掖著」,即把原本想到且可以做出來的功能藏著?只做出基本的功能滿足需求,當出現競爭對手作為對比時再搬出來體現自己的獨特。

3.軟體服務是否要考慮滿足少數人的要求

第十二章使用者體驗中,談到了阿湯哥拍攝電影的花絮。使用者的需求多種多樣,很多軟體都會選擇退出自定義模式,讓使用者自己的來設定自己想要的效果。但是往往在設計的過程中,有一些需求往往是相對的,就好像左撇子和右撇子。中國人和日本人的閱讀習慣不同,那麼當中國人使用漫畫軟體閱讀日本漫畫時,有沒有必要退出將漫畫的布局反轉,而文字卻不會反轉的功能。這個功能雖然可以改善使用者的體驗,但乙個小小的漫畫軟體卻要使用影象識別技術來完成這一功能,明顯是不合理的。

4.犧牲質量來提公升使用者體驗度是否合適

12章中通過韋爾奇核磁共振機的故事體現了使用者體驗的重要性,而當我看到了16章中鍵盤的起源時,便發現了這裡出現就出現犧牲使用者體驗來提公升質量的例子。dvorak鍵盤布局可以比現在的鍵盤拼寫6倍之多的常用單詞,為什麼沒有人使用呢。這一切的關鍵在於技術,鍵盤的取捨是無奈於技術的不足,只能拋棄使用者體驗,而韋爾奇的專家也是因為因為技術不足擔心影響質量,而沒有第一時間推出寬通道裝置。在技術進步的今天,我認為也許受到技術影響的質量是可以被犧牲的,因為將來可以補上,但如果沒有了使用者體驗,失去了使用者可能就沒有將來了。我想知道這樣的想法是不是正確的。

5.關於專和精的關係,一點自己的看法。

瀏覽教材第二遍的時候看到了第三章第三節中,作者把「單人樂隊」比作為「全棧工程師」,在我看來還不完全合適。這讓我想到了**家和演奏家之間的區別,只要你稍微懂一點樂理知識,隨後有好的引導,再加上自己刻苦的訓練,你就完全可以成為演奏家。而成為**家,首先必須是乙個演奏家,乙個指揮家,乙個作曲家等等,有時還要是乙個哲學家。我認為「全棧工程師」就是演奏家到**家的過渡,一門專而精的能力是我們向高平台的敲門磚,如果沒有一門精通的技術,那麼就會變成「街頭賣藝的單人樂隊」,無法走進真正的**殿堂。因此對於和我一樣都是大學才慢慢開始接觸計算機的同學,我認為都應該先成為一名「演奏家」,專精一項技能作為自己的敲門磚。

優點:1.功能強大,

2.開源專案多,

3.將專案存檔,可以分享交流,並讓其他使用者幫助你一起完成這個專案。支援多人共同完成乙個專案,因此你們可以在同一頁面對話交流。

4.適合分布式開發,強調個體;

缺點:1.介面不太友好,初學者不易搞懂功能

2.開發發生衝突後可能會有很麻煩問題

3.**保密性差

git是分布式版本控制系統。追蹤計算機檔案的變化的工具,也是乙個供多人使用的協同工具。

git是目前世界上最先進的分布式版本控制系統。git是免費、開源的。最初git是為輔助 linux 核心開發的,來替代 bitkeeper

官網位址

優點:

1.免費、開源。

2.每個參與開發的人都擁有完整的專案,不用擔心專案丟失。

3.可以離線操作。

4.強大的分支管理功能。

缺點:

1.git沒有嚴格的許可權控制,一般是通過系統設定檔案的讀寫許可權來做許可權控制。

2.工作目錄只能是整個目錄,而svn可以單獨checkout某個有許可權的目錄。

優點:1.自動建立分類圖表。

2.提供自動各種強大的功能,且無需編寫編碼,減輕開發負擔。

3.開發ios和mac特別方便

4.便捷的**管理器,自動生成類關係圖、函式方法列表等

缺點:1.不穩定,容易出現外掛程式丟失

2.只提供除錯功能。

3.侷限於ios和mac

構建之法 第一次作業

這個作業屬於哪個課程 課程的鏈結 這個作業要求在 作業要求 我在這個課程上的目標 在一定程度上了解軟體工程,熟悉開發流程 這個作業在哪個具體方面幫助我實現目標 開發流程 個人部落格 第一章1.1 軟體工程 程式 軟體工程,這裡如何去衡量兩者之間的平衡關係,或者是說哪一部分在實際的專案開發當中佔主要成...

第一次閱讀與準備作業

這個作業屬於哪個課程 課程鏈結 這個作業要求在 作業要求的連線 我在這個課程的目標 完成學習軟體工程的課程任務,熟悉程式設計技術,拓展自己的知識面 這個作業在哪個具體方面幫助我實現目標 1.教材學習 2.老師及學長講解 3.個人理解及練習 4.團隊合作 1 回想一下你初入大學時對你所在專業的暢想 2...

結緣《構建之法》 第一次作業

這個作業屬於哪個課程 課程的鏈結 這個作業要求在 作業要求的鏈結 我在這個課程的目標是 學會如何更加高效開發軟體專案,掌握專案開發流程,了解未來工作需求 這個作業在哪個具體方面幫助我實現目標 掌握專案管理工具,學習前輩們優秀經驗,找準自己目標定位 我的部落格主頁 在上大學以前我的學習筆記都是課堂聽老...