個人回憶錄---2024軟件工程歷險記
| 這個作業屬于哪個課程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315 |
| 這個作業的目標 | 回顧這一學期所完成的軟工任務,總結這一學期的收獲 |
| 學號 | 102202108 王露潔 |
前言:我對軟件工程課程的想象
None
?? 實話實說環節:一學期有這么多課,誰能特地注意到軟工這門課呀,更不用說什么對它的想象,所以誰也沒想到后面會被它整得那么(?_?) !
?? 對課程的目標和期待:這個得趁著開課前好好想想,因為開課后根!本!沒!時!間!
?? 但是不得不說,這三個月我不管是編碼能力,溝通能力還是組織管理能力都是 ↑↑↑,還有更重要的是認識和了解了更多的同學
下面直接進入正文吧:
一. 你存在~ 我深深的腦海里~
1. 就我?開發游戲?(團了個團)
??當時本人內心活動:
×&%¥#@沒錯,我是學過不少編程語言了§№☆●◎□但是學了不代表我就會呀◆○◎★▲△■這作業是不是布置錯了※£¤¢℃¥ξο這老師上課也沒教啊$ & ¤ § | 我哪會開發小游戲???大家都會嗎?這是合理的嗎?@#$^&%!$#*&%¥&@34%#!……
什么?要用AIGC嗎?原來如此,不是讓我自己寫啊。。。(呼~)
既然那次作業已經結束了,那我又要開始說實話了:本身作業要求的是“使用GitHub Copilot或其他AIGC工具生成至少30%的代碼”,但我的代碼中含AI量高達99.999999999%
??含AI量99.999999999%的游戲長啥樣:
唯一沒有靠AIGC的部分就是美工,為了防止侵權啥的,我直接上手繪 (如果你也喜歡海賊王,那我們就是好朋友、、):
接下來隆重介紹一下我的右手:
真的真的很好用(雖然后面沒怎么用過),只需(Ctrl+L)輸入需求,然后直接給出一整套。
于是我就不停地給它提要求,加條件,但是隨著要求越來越多,它報錯的概率就越來越大,而我又不會改,所以不得不放棄一些功能,反反復復折騰幾次才最終生成一個沒什么缺陷也沒什么亮點的Tuan a Tuan,果然做人不能太貪(⊙o⊙)…
經過三個月的磨煉,我發現當時怎么也看不懂的代碼,現在,,,,也仍然看不懂o(╥﹏╥)o
說了這么多,下面該展示了,其實它跟我原本想象的差挺多的,但是,我覺得我應該學會知足,畢竟,,懂的都懂。。。
現在看看覺得有點花里胡哨了哈哈!這是查看更具體信息的通道:http://www.rzrgm.cn/bushiwanglujie/p/18417638
總結:此次作業,我和我的助理最終一共寫了415行代碼;總時間消耗:大約3天
2. 兩個小白?造小程序?(Campus Linker)
??二話不說先吐槽:
天哪!怎么做到的!每次作業都在我的意料之外!每次都能給我不一樣的驚(刺)喜(激)!小程序??是微信的那種小程序嗎?那是剛邁入大三的學生可以做得出來的嗎?原諒我,我實在不知道從哪下手了。
不過幸好我有一個擅長探索新事物的搭檔,不管是墨刀(原型設計工具)還是微信開發者工具(程序開發工具),都是她先學習使用然后教給我的,這才讓我慢慢地知道了自己應該做什么,用什么工具做,以及怎么做。
但是還有一件事,誰來也救不了咱,那就是----我倆都有一點點拖延癥。。。沒記錯的話,結對作業的編程部分老師把它安排在了國慶假期,而我這次假期也是難得回了趟那個離這兒一千多公里的家。不用說,我回家是包不會做作業的,電腦都沒帶回去;而我搭檔也是,我不在,她也是不會想要碰的,畢竟難得的假期,我們都舍不得讓它就那么跟軟工姓了。
我當時是5號晚上回來,10號要交博客,也就是我們要用4-5天的時間從0開始,把小程序做完然后把博客寫完,聽起來還好,但是我們還有很多課要上,總而言之,挺急的。不過我們剛開始一點都不帶慌的,因為不知道自己即將面對什么,后來是越做越懂越慌?。。?!
這個時間沒有很長,但是過程卻極其崎嶇(這里不想回憶得那么清楚了)。從“空殼”到連接數據庫,再到后面的實時聊天,最后基本上也算完成了(這都多虧了我的搭檔)。
還記得交博客的前一天晚上我們待在學習中心快到十二點(我本來說過不會為了軟工而熬夜的),結果那天我不但熬了夜,博客還遲交了(踩著點交誰知道電腦卡了),后面跟老師解釋了一下,他很耐心寬容地扣了我三分(沒關系我不記仇(#^ . ^#))。
??為何選藍色?那是汗水和淚水凝結而成的
先用一張圖簡單展示一下大概的界面:
是不是看著還不錯?當然不錯了,,因為那是原型的截圖。
不過程序實現跟原型也沒差多少,所以可以替代(嗯嗯)。
具體詳情:http://www.rzrgm.cn/bushiwanglujie/p/18450380
下面是我們這次編程輔助的工具(GPT老師以后還請多多關照!):
還有開發工具(這個不是很好用呢):
也是經過這次,我才知道編寫小程序是分前端和后端的,前端主要進行html,css和js腳本的編寫,而后端主要是搭建服務器和數據庫,我的理解是這樣子,實際上肯定是更復雜的。
做這個小程序的時候,我只涉及到前端代碼的編寫,而且是依賴AI的,所以我根本看不太懂我自己寫的啥,html文件還好,css一般,js是一點也看不懂?。。‘敃r就是很趕(前面也說了),根本沒有時間去慢慢研究每行代碼是什么作用,還記得我只會改改界面的排版和顏色等等,至于動態交互嘛emmmm……
我們一共做了三十個頁面,原碼上傳在了github上:
說到github,又是一道坎……,誰家學計算機的大三學生還不能熟練使用github呀,,哭哭哭,,什么fork,clone,commit,merge,pull request……別人都能輕易搞定,到我這就不好使了,不知道是不是電腦有問題(好吧肯定不是)。
但是我知道了github的優點(本來是不知道的還覺得沒必要),那就是可以直接把整個項目的所有文件克隆到本地,跟人合作需要交換文件就不用一個個傳了,但其實壓縮包也挺方便的。還有就是可以直接進行合并,但前提是沒有沖突;關于分支,合并,沖突這塊,我目前還是不太懂。。
總結:此次作業的代碼量:2000-3000行(粗略估算);總時間消耗:10天左右(原型+編程)
3. 當選前端小組長?我去管人,誰來管我?(養食記)
??最難忘的大組作業,讓我想想從哪說起
作為前幾次作業排名在后50%的人,我喪失了自行組隊的權利,這個是稍稍有點不服氣的(不過那作業確實做的不行哈哈)。但是如果讓我選,我十有八九會選擇那些跟我經常在一起組隊的同學,這當然是還挺好的,只不過減少了跟其他沒怎么接觸過的同學交流的機會;但是隨機被分配也會增大跟組員們合不來的可能性,反正都是有利有弊嘛?,F在來看,我還算幸運的,在這個組里,利是大于弊的。
我跟我們的組長也是第一次接觸(雖然我們已經做同班同學兩三年了),但是我還是第一次見到主動擔起組長職務的人(可能是我見識淺陋了),之前我組過的所有小組的組長都是抽簽決定的。
他很認真,有耐心,每次任務都安排得很清楚,每次都有詳細記錄,把飛書玩得明明白白的,物證如下:
下面也是:
人證也有哦:
很多時候,組員的態度取決于組長的態度。組長積極負責,組員自然也差不了。(嗯嗯,是這樣)
這次項目持續時間很久,一個半月左右,這擱誰能撐得住啊,就算一開始充滿熱情也會被時間無情地磨滅,不過好在大家都堅持了下來,雖然都是硬抗的 hhh……
從前面的開發經歷不難看出,我做的工作很少,不是依靠AI就是依靠搭檔。沒事,因為,現在,我已經加倍償還了,這一切的一切都起源于:
真是的,不知道我這個人經不起夸嘛(罒 ω 罒)
我的宗旨是:要當組長就要好好當,(下半句:要摸魚就要好好摸)
自從當了前端小組長,我的生活be like :
天天在群里說一堆話,但是無人回復,偶爾有一個人回,還是我們老大。。即使是這樣我還是不停地在群里說,說,說,(這可能是我遇到的最大的困難了,)
等等,可能還有更難的,原型設計的時候還算好,給大家安排的任務基本都能完成,但是到了前端開發這里,大家給我的感覺就是:心有余而力不足。
也許他們一直在嘗試,可能也熬了不少夜。但是站在我的角度來看,他們不回我群里的消息,甚至有些私發消息也不回,到了我定的deadline時發給我一堆沒有實現的東西,我就很容易認為,他們在偷懶。
我為了盡量減少矛盾,自己把他們的任務都重新做了一遍(也挺感謝的,我的能力也因此提升),很累不說,這也是不妥的做法。老師也說過自己一個人把活都干完的組長不是好組長,他也許有很強的工作能力,但是幾乎沒有組織和管理的能力,而組織管理能力恰恰是組長最應該具備的。
關于這一點我們老大就做的很好,不管怎樣他都不急,永遠那么溫柔又耐心:
再看看我的語氣:
果然,他是鼓勵,我是命令,的確,這方面我還有很大的提升空間。
但其實老大也很心累啊,他在博客里也坦白了(被我發現了哈哈):
開發過程不管遇到什么難搞的問題,他永遠只有一句話:
嗯哼~ 我們組長棒極了~
??“養食記”的成長日記
第一次開會的時候確定了選題,靈感來源于我們老大說他天天最大的煩惱就是不知道今天吃什么,所以想做一個關于飲食推薦的小程序。
后來慢慢進化:飲食推薦-->健康飲食推薦-->個性化健康飲食推薦
所以我們的殺手級功能就是:根據用戶真實的身體狀況來進行針對性的飲食推薦。后面我們也的的確確實現了這一點,很棒很棒!
接下來是名字的確定:
緊接著logo的確定:
最后就是漫長的設計和開發過程:原型設計,概要設計,Alpha沖刺,Beta沖刺。。。
這里也用一張圖來展示我們大概的界面(有點亂糟糟的,別介意哈):
每完成一個步驟都要在周六的實踐課上進行匯報,雖然不是我匯報,那我也累,累,累呢。
到了后期就是不停地編碼,然后整合,再是編碼,再整合……前前后后不知道有多少個版本,反正我的桌面都要被鋪滿了。
時間緊迫的時候,本來會聽的課也不聽了,直接拿著電腦在老師眼皮子底下趕進度(當然不止我一個人這樣做,都是被迫的)。
還記得Beta沖刺匯報的前一天晚上,我一直忙著不停地整合,黃同學也在幫我整合(聽說他都快崩潰了,因為那些發給他的界面很多都沒有實現,,哎!這應該怪誰呢?我覺得要怪就怪不應該有這個作業吧),然后組長一直等著我們整合好的版本做PPT呢哈哈,結果還是等到早上才開始做,他那天晚上還難得地早睡了,為了第二天早起做PPT哈哈哈!當時挺急的,我現在想起來只想笑 ~
當我們的小程序部署完之后,才意味著它真正的完成了。(哦對,我忘記了,還有很多小功能只是擺設沒有實現呢!不過算了,已經很好了。沒事沒事,知足知足。)
以下是我們的小程序碼(歡迎大家來體驗哦!):
??我們是---銀河護胃隊
我們的口號是:美食不將就!健康不妥協!
大家在一次次的作業經歷中熟悉了彼此,之前組長也有心把咱的經歷總結在他的一篇博客里了:http://www.rzrgm.cn/starryship/p/18548506
Alpha沖刺時老師有要求我們以vlog的形式記錄我們的工作日常,我覺得這很好,所以堅決不記流水賬,現在又多了個美好的回憶。

下面截幾張歡樂的動圖(都是擁有有趣靈魂的人啊哈哈!):






最后附上兩張全員合照:
一張是白天:
一張是黑夜:
代表我們日日夜夜為了同一目標而努力。
總結:本次作業一共寫了6/7/8000行左右?(不想仔細算了),耗費時長:一個半月
4. 我在軟工上消耗了多少生命
??各次作業
| 作業 | 花費時間 |
|---|---|
| 第一次個人作業 | 1天 |
| 第二次個人作業 | 3天 |
| 第一次結對作業 | 4天 |
| 第二次結對作業 | 5天 |
| 第一次團隊作業 | 7天 |
| 第二次團隊作業 | 7天 |
| 現場編程作業 | 半天 |
| 團隊作業Alpha沖刺 | 14天 |
| 團隊作業Beta沖刺 | 7天 |
??軟工課程
| 累計時間 | 實際周均時間 | 預計周均時間 |
|---|---|---|
| >345h | >25h | 20h |
二. 這世界總有人在忙忙碌碌尋寶藏~
??有啥經驗可總結的
個人編程:
一個人編程的好處在于沒有團隊協作的溝通成本,咱可以自由選擇技術工具,自行設計界面并實現功能;但是,同時也缺少了更多開發者的視角和反饋。如果個人能力不夠的話(比如當時我),就只能依靠AIGC了,那么個人參與度就大大↓↓↓。
結對編程:
老師之前好像也說過一人負責編寫代碼,另一人負責審查。當遇到難題時,兩人可以共同討論解決方案。我覺得不太適合咱們這種情況,畢竟兩個人都不夠專業,這樣的效率太低下了,而且審查的人很容易摸魚。所以我們兩個人做小程序時就是都有編程,每人負責一部分界面,遇到問題就問gpt或者一起討論。
現場編程:
說是現場編程可以提高編程速度和壓力承受能力,但是,額,我們當時在現場做一個記賬小程序時可能稍稍有點混亂,與其說是提高速度和承壓能力,不如說是考驗吧,大家的火候都還不夠呢!如果平時不是經常自己編程的話(注意是自己編程,而不是借助外力),應該是很難做到的,不知道其他小組有沒有做出來的(不是找的開源代碼),反正咱是沒做出來,不過沒關系啦!
團隊項目實踐:
這個!嗯~ 好的領導者真的真的很重要!團隊項目實踐強調團隊協作、任務分配和項目管理。咱組長很優秀,做的很好,我都說累了~ 其次,積極配合的組員也是極其重要的!這一點我深有體會,不想說了。實踐中我們團隊成員分別負責前端、后端、數據庫和測試等不同部分,組長通過定期的會議和飛書等工具來協調工作,確保各部分之間的無縫集成。在項目過程中,如果遇到了技術難題和進度延誤,大家都會及時溝通,最后才得到了一份不錯的成果。
??我不能沒有新技術工具的支持
cursor:
這是我第一次開發小游戲的時候使用的編程工具,前面也說了我當時用它生成了99.999999%的代碼,這就直接體現出它的一個優點:能夠根據用戶的輸入或需求自動生成高質量的代碼(利用先進的自然語言處理和深度學習算法)。初次之外,Cursor還能對已有代碼進行優化和解釋,我就是先生成一個基本功能的游戲框架,然后進行更多功能的添加和優化,真的很方便!
墨刀:
幾次開發都有用到的原型設計的工具,里面有很多模版,基本都能滿足需求,就是進行協作的功能需要收費,記得結對作業時就是我搭檔一個人進行原型設計的,我可能是后來進行的些許的調整;而團隊項目時我是有買可以協作的賬號,畢竟這個量可不能一個人做??!目前沒有嘗試過其他原型設計的工具,因為就這個已經挺好的了,挺簡單的(跟編程相比)。
微信開發者工具:
這是在結對編程時使用的開發工具,怎么說呢,確實是比較容易上手,它就是每個界面分成三個文件進行編輯:wxml,wxss和js(還有json,這個沒怎么用),這樣可能不會容易亂。但是就是體驗感不是很好,每次編譯都卡半天加載不出來,只好關掉重開,而且當時本來就時間緊急,它還整這一出,有點氣人啊[○?`Д′? ○]!!所以后來就沒有再用它了。
HBuilder X:
在團隊作業的時候舍棄了微信開發者工具,選擇了這個全新的開發工具,幸好我們小組有同學之前使用過,在張同學等人的幫助下我很快就可以熟練操作了,確實比那啥要好用一點,后面有其他的開發任務我都是使用的這個。
ChatGPT:
這個!從第一次結對作業開始就一直參與我的編程工作,從未缺席!美中不足就是它也是要收費的。我周圍的同學也是幾乎都借助它來進行編程,可能經常使用會讓我們本身的編程能力下降,但是,科技,不就是為人所用才存在的嘛,,反正我現在是完完全全離不開~
Github:
其實我可能從大一就有接觸這個了,或者是類似的(比如Gitee),應該還是用得少才導致我不夠熟練吧。這上面有很多開源代碼可以直接拿過來運行(這是我比較喜歡的地方),在這里我主要是在與隊友合作的時候有用到(盡管用得一團亂),但是我估計以后的學習和工作中都能使用到它,所以,再練練~~
三. 難~忘~今~宵~ 難忘今宵~
??印象最深的答辯嗎?
我的話印象最深的就是最后關于Beta沖刺的答辯,不知道是不是因為時間離得比較近,所以我還沒有把它忘記,只知道那次我們是要正式展示小程序的功能。
前面都跟平時沒什么兩樣,就是組長跟大家介紹我們小程序的相關情況,雖然沒有什么人在聽,不過老師和助教有在聽就行了。我當時坐在組長旁邊,因為我作為最后進行整合的人,比較清楚小程序有哪些bug,可以及時提醒組長(哪些功能還沒有實現之類的),防止給同學試用的時候出現尷尬的情況 ~
說了這么多都是鋪墊,我主要是想說后面,在老師對我們進行問答的環節時提了一個比較不好答的問題(具體是什么我忘了),正當我思考該怎么應對時,組長說,這個得問咱們的技術人員,而老師似乎不打算放過我們,直接大聲喊:“哪一個是技術人員?”就在這時劉同學挺身而出,直接沖向組長這邊,操作著電腦給老師進行解答;結果老師還是不滿意,繼續連環提問。突然地,黃同學又沖了上來,把我都嚇了一跳(本來以為他沒來上課的),老師似乎也挺出乎意料的哈哈!小組成員們接二連三地站出來,共同應對老師提出的難題,這真的是我眼中一個小組該有的樣子,的確是記憶深刻,不是因為時間隔得短才沒忘。
有點可惜,要是當時能把那個場景錄下來就好了,現在也只能把它留在我的腦海里了~
下面放一張Alpha沖刺時錄的答辯現場哈哈~

??我最想感謝的人居然是?。?/h3>
我!自!己!
為什么呢,首先,如果不是我擁有極其頑強的生命力,肯定就看不到美好的明天了 ~
我是如此的無私,拿我最珍貴的東西去冒險---我的生命。每次熬夜趕工,都是做好了賭上了性命的覺悟?。。?!
不過呢,我還是主張--非必要不熬夜,不能仗著身體年輕就肆無忌憚,嗯嗯!
其次,感謝我的搭檔和伙伴們,能夠毫無保留地把他們知道的東西教給我;也是他們用實際行動激勵了我,看到他們如此認真對待咱們的項目,我竟(短暫性地)克服了懶惰,是這樣沒錯。
最后,感謝老師吧,布置作業也挺辛苦的,每次都是長篇大論的要求,我都是從中一點一點地提取有效信息。沒有老師,就沒有作業;沒有作業,就沒有小組;沒有小組,就沒有矛盾;沒有矛盾,我就會很快樂……不對不對,,,總而言之,謝謝老師!??!好的??!感言發表到此結束?。。ㄕ坡?~)

浙公網安備 33010602011771號