這個作業屬於哪個課程 | 2021春軟件工程實踐S班 |
---|---|
這個作業要求在哪里 | 軟件評測 |
這個作業的目標 | 通過評測軟件理解軟件工程中的一些概念 |
其他參考文獻 | 無 |
調研,評測
CODE.CHINA
體驗
從創建一個項目開始
起始界面可以說是相當簡潔,但該有的又一個不缺。不會出現某個地方顯示的內容過於臃腫。
讓我們新建個項目。
依舊十分簡約。直到創建完項目前。CODE CHINA 給我留下的印象都挺不錯。直到……
我願稱之為中西結合。
有意思的是,我們可以直接在網頁上創建文件夾/文件。不需要先把項目克隆下來,再上傳上去。
Fork 項目
可以根據需求尋找各種項目,至於這種顯示方式好不好,見仁見智吧。
個人感覺與其說是簡潔,這個界面總給我一種“因為沒有什么項目所以把顯示的內容撐大點顯得項目很多”的感覺。
Fork 的流程十分簡單,基本上把你能看到的綠色按鈕點一遍就行了。
克隆、Commit 與 Push
重頭戲——想必大家沒少被GitHub上傳下載東西折磨過。
克隆過程順風順水。
接下來試試 Commit 與 Push。
速度也很快。唯一需要注意的事情是——賬號密碼的問題,手機注冊后要記得設置密碼,以及賬號不能用手機號替代。
BUG
火狐與 Edge 均有此現象且100%觸發。
未登錄狀態下 Star 項目會跳轉到登錄頁面,登錄后會跳轉到上次登出時的頁面且並沒有 Star 成功。
比如我想要 Star 這個項目。
登錄后卻跳到了這個界面(因為登出時我在這個界面)。
Star 也並沒有成功(點了個寂寞)。
為什么會這樣:
- 重新登錄時跳轉到上次登出時的界面而不是登錄前所在的界面;
- 未登錄狀態 Star 實際上只會讓你登錄。
對於第一個問題。個人猜想是網頁只在登錄狀態下記錄用戶當前所在頁面,未登錄時不記錄(畢竟不知道當前瀏覽頁面的到底是哪個用戶)。如果只是單純的點擊登錄,登錄后跳轉到上次所在的頁面當然是沒有任何問題的(不過我個人覺得還不如保持在登錄前的頁面)。可如果是在上述情況下,跳到上次所在的頁面,則讓人感到匪夷所思:“嗯?我 Star 完了嗎?”到自己的 Star 項目確認一下,發現竟然並沒有 Star,導致用戶最后需要重新 Star 一次。
總的來說,Star 未成功的現象 Code China 也不是獨一份,許多網站也有這個現象(懶得實現記錄登錄前用戶想要進行什么操作?或是覺得沒必要?)。不過這個登錄后的頁面跳轉我目前只在 Code China 上見過,別的網站不是跳到首頁,就是跳回登錄前界面。
如果讓我為這個Bug評個級的話,我將從以下方面打分:
等級 | 系統功能 | 安全性 | 用戶體驗 |
---|---|---|---|
1 | 操作無反應 | 無 | 用戶沒意識到這是一個 Bug |
2 | 要多操作幾次才能成功 | 無 | 不常發生,用戶可以忍受 |
3 | 操作失敗 | 數據出錯 | 常常發生,用戶可以忍受 |
4 | 顯示操作成功實際上卻沒有 | 導致服務器宕機 | 常常發生,用戶難以忍受 |
5 | 發生意料之外的其他操作 | 數據泄露 | 用戶放棄繼續使用 |
- 重新登錄時跳轉到上次登出時的界面而不是登錄前所在的界面;-/-/3
- 未登錄狀態 Star 實際上只會讓你登錄。1/-/3
建議改進方式:登錄前記住狀態以及用戶的實際操作。登錄后處理完實際操作再顯示原本的界面。
具體來說,原本在哪個界面可以放在客戶端處理,用戶進行了什么操作則要上傳到服務端進行處理。且服務端根據實際的操作返回給客戶端實際上需要顯示什么界面(是登錄前的界面還是別的界面)。
結論
非常不推薦 | |
---|---|
不推薦 | |
一般 | |
好,不錯 | √ |
非常推薦 |
√界面總體簡潔大方
√操作及其簡單直觀
√上下載快速
·(幾乎)全中文界面
×小細節不夠完美
GitHub
體驗
再從新建一個項目開始
想必大家用得比較多的代碼托管平台就是這個了吧(上面那個 Code China 我是做這個作業才知道的)。
熟悉,並且比上一個平台還要簡潔的界面。
先來創建一個項目:
比 Code China 少了一步操作,不過總體是一致的。
克隆、Commit 與 Push
Fork 方式與前文提到的 Fork 幾乎完全一致,這里不再展示了。
懂的都懂。需要用點小小的手段才能正常地上下載。
克隆↓
Commit↓
Push↓
只要能連上的話,速度不算快也不算慢。
BUG
暫時沒有找到。
結論
非常不推薦 | |
---|---|
不推薦 | |
一般 | |
好,不錯 | √ |
非常推薦 |
√界面簡潔
√項目極多
·全英文
×上下載比較麻煩
Gitee
體驗
又從新建項目開始
界面和前面兩個平台相似。
新建項目的方式與 GitHub 一致。
克隆、Commit 與 Push
速度與 Code China 一致。
BUG
暫時還沒有找到
結論
非常不推薦 | |
---|---|
不推薦 | |
一般 | |
好,不錯 | √ |
非常推薦 |
√上下載快速
·全中文
分析
開發時間估計
對於實現同類型的項目(6人左右,計算機大學畢業生,專業UI支持)。
子模塊 | 人數 | 時間(星期) |
---|---|---|
UI | 1 | 12 |
前端 | 2 | 16 |
后端 | 2 | 16 |
測試 | 1 | - |
事實上,這些動作是可以同時進行的。
加上有些功能有現成的代碼/庫可以使用,實際上的話個人覺得半年左右可以做出能用的托管平台。
同類產品對比排名
如果比較上述3個平台的話、,個人感覺GitHub>Gitee>Code China。
其中Gitee個人評價比Code China好不是因為它某個地方做得好,而是它沒有哪些地方做得不好。Gitee至少比Code China像是一個完整的產品。
換言之,雖然Code China有些地方比GitHub、Gitee要人性化一點。但在一些細節上散發出“我是個Demo”的氣息。
建議和規划
市場概況
代碼托管平台主要面向於中小型企業/團隊或個人使用。因為大多數平台對個人免費的特性,個人成為其最直接的用戶。
而只有提供足夠好的服務,才能吸引團隊使用這個服務。
市場現狀
事實上,代碼托管平台並不少:
- GitHub
- GitLab
- Bitbucket
- Code China
- Coding
- ...
他們的定位是相同的:提供代碼托管服務。而其中一些平台還提供交流服務。
最能體現平台的優劣的,有代碼的安全性/服務速度兩大方面。對於這兩點,各個平台各有優劣: - GitHub 雖然項目極多,熱度也高,但有時無法正常使用。甚至因為要遵守美國法律,會出現對某地區停止服務的情況(還不會事先通知唷)。
- Code China 沒有上述的問題。可惜使用的人相對較少。
- ...
市場與產品生態
核心用戶群由以下人群構成:
分享自己的代碼,同時也想學習他人的代碼的用戶。這個用戶可能試着用某一種框架實現了某種功能,甚至是從零開始做了個小Demo。也有可能是把自己造的輪子發到平台上供他人批評修改。他可能是根據自己的想實現的東西,先了解需要什么技術,然后一邊學一邊慢慢實現。
數人組成的開發小團隊,同時又本着“拿來主義”的原則,直接使用現成的代碼托管平台。以便同時對不同的模塊進行開發與同步。牛仔式開發可能很有趣,但大一點的項目又需要不同的開發工具甚至是涉及到了不同的領域。此時這種平台的吸引力對小組開發成員顯然是不言而喻的。
所以總結一下,他們需要的是什么?可以是一個展現自己的平台,可以是一個學習他人經驗的平台,也可以是一個現成、免費的同步工具。
那上述兩種群體有什么聯系嗎?我想可能有——幾個發布同一類項目的人相互吸引,開始一起開發更大的項目。諸如此類,由數個個人用戶抱團成一個小團隊。
產品規划
新功能
如果我們有一個現成的GitHub項目,我第一個想要加入的一定是國際化。事實上目前沒有任何一個托管平台實現了這個功能。同時不同於聘請專業的翻譯團隊。我們可以直接利用平台本身,讓各個地區的用戶像 Push 代碼一般提交翻譯文本。同時翻譯的文本受到大多數用戶監督,不合適的文本可以被修改/回滾。
國際化可以幫助初次使用的用戶更快地上手這個平台,同時把翻譯的權利下放給社區又可以提高社區的活躍度。
角色配置
安排2人負責前端開發、2人后端開發、1人測試、1人宣傳項目