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