CodeWars-線上Kata練習解題的社群

第一次接觸到Kata這個詞是在Uncle Bob的The Clean Coder(無瑕的程式碼 番外篇:專業程式設計師的生存之)這本書中看到的,關於Kata的意思和跟程式設計有什麼關係網路上已經有很多資料了,就不多做詳細介紹,簡單來說就是用同樣的套路(題目)來練習寫程式這件事情,藉由不斷進行同樣或類似的練習,來達到磨亮自己coding能力的目標。網路上可以找到很多Kata題目來進行練習,而CodeWars就是其中一個線上的Kata網站。

最特別的是,CodeWars不僅只是蒐集Katas而已,他來提供了線上平台,讓你可以提交你寫出來的程式碼,還具有社群功能,來觀看以及討論他人練習的成果。

通常我們把這種大家一起練習Kata的地方稱為Dojo(道館場)。因此CodeWars也可以想像成是線上的Dojo。除此之外CodeWars還提供了成就系統,下圖就是CodeWars的階級。

當你完成的Kata越來越多,你的階級就會越來越高,也能解鎖CodeWars上更多的功能(例如提交自己的Kata上去給別人練習),也算是非常有趣又能吸引人上去解題的功能。

唯一的小缺點是,這個平台是英文的,沒有中文版,但也可以把它當作練習英文的地方啦XDD

註冊CodeWars

剛開始進入CodeWars註冊畫面時,可以選擇一種起始的程式語言

接著會出現幾個題目,來簡單判斷你對該語言的熟悉度,例如我選擇C#,接著會出現下面的題目

作答完畢後還會自動測試你的程式是否有問題

回答幾個問題後,就可以輸入註冊資料了,同時也可以選擇直接連結GitHub帳號。

之後你可以選擇你目前想要練習的程式語言,以及要排除的程式語言,這個設定之後可以再右上角選擇Edit Languages來修改

設定完成後就可以開始進行Kata練習啦!

進行Kata練習

再後台的首頁預設會出現一個隨機的Kata,你也可以選擇你感興趣的程式語言和目標(例如升級、基礎訓練、重複練習等等)來篩選。

如果看過題目後想要進行練習,可以直接按下TRAIN按鈕,想換題目的話可以按SKIP,系統會自動再隨機挑選一題出來。

也可以從左方選單的Kata來查看和篩選Katas

選擇要練習的Kata後可以看到如下圖的畫面

左上角是題目的描述,右上角是程式編輯視窗,右下角則是建議的測試案例。線上的編輯器功能比較陽春,建議可以在自己習慣的IDE上編輯後,再貼上來,之後可以按右下方的RUN TESTS進行程式的測試,左上的題目描述會切換到OUTPUT頁籤,輸出執行與測試結果,反覆編輯測試到如果覺得沒問題了,可以再按下SUBMIT,來提交程式碼,此時則會跑這個Kata提供的更多測試來測試程式碼,一樣會把結果輸出讓你知道。如果都通過了,可以選擇重新整理你的程式碼再送出一次,或直接按下SUBMIT FINAL來提交程式碼。

提交完成後,就會進到題目的Solutions頁籤,這個頁籤就是其他人提交的程式碼,在你尚未把Kata完成時,是看不到別人的程式碼的,一定要自己努力完成後,才能夠進來觀看,所以請努力的練習。

以上就是CodeWars的簡單介紹,自己實際玩了兩天後覺得非常有趣,而且常常會有機會看到別人用一些很特別的角度來解題,會讓人覺得這也未免太有創意了吧XDD

如果你對寫程式有一定的熱情,也想要找更多的題目來磨練自己的能力,推薦可以上CodeWars玩玩看,或許會有不同的發現喔!!