早在2014年,當蘋果公司宣佈推出Swift時,人們就理所當然地持懷疑態度。沒有人知道它是否會流行起來,許多人質疑是否需要學習另一種編程語言。
但隨後斯威夫特在2015年開放源碼,雖然它沒有一夜之間爆炸,但語言卻穩步增長。從來沒有更好的時間學習!我們已經介紹了在線Swift教程以及移動Swift教程,但是一旦你有了基本知識,你會去哪裡?
一旦你習慣了這種語言,就可以考慮用這些快速編碼挑戰來測試你的技能。它們不僅有趣、**,而且能讓你對自己的能力有信心。
Codewars是練習各種編碼挑戰的最佳場所,包括Swift。整個系統是遊戲化的,這意味著你獲得的經驗和水平與每一個成功的挑戰。它使用了與圍棋相似的排名系統:你從8千開始,一直前進到1千。
挑戰(稱為“kata”)按難度分類。幸運的是,有成千上萬的挑戰可供選擇,所以即使你升級得太快,你也可以回去做更簡單的。挑戰類型包括算法、數據類型、字符串和數字操作、控制流、謎題、邏輯等等。
我喜歡Codewars有兩個方面:第一,完成kata可以讓你看到其他用戶提交的解決方案,第二,用戶可以創建自己的kata,這樣挑戰的集合每天都在增長。這真的是一個最好的編碼遊戲,以提高你的技能。
CodinGame上的Swift編碼挑戰比Codewars上的更復雜,這是因為CodinGame的挑戰被設計成遊戲。例如,“雷神的力量”挑戰讓你移動雷神的位置,以便他能以儘可能少的步子到達力量之光。
挑戰按難度分類,從簡單到中等,從困難到非常困難。還有一些社區**的拼圖,你可以在官方拼圖用完後嘗試。注意,CodinGame的挑戰相當艱鉅,但你會在鬥爭中學到很多。
除了單人挑戰,CodinGame還提供5分鐘的多人編碼戰鬥(在那裡你儘可能多地完成挑戰)和更大的社區範圍的競賽(每一兩個月舉行一次)。
CodeChef提供了類似於編寫家庭作業問題的挑戰。它們分為初學者、簡單、中等、困難和挑戰類別(另外還有一個稱為“用戶**的挑戰”的類別)。
成百上千的挑戰是可用的,它們可以變得相當困難。相比之下,大多數初學者有1000+成功提交,中等的平均數百,但挑戰的很少打破100成功提交。這對新手和老兵都是很好的做法。
CodeChef也有比賽。並不是所有的比賽都提供獎品,但是官方的CodeChef比賽可以有高達700美元的獎金池。
DailyProgrammer是一個Reddit社區,面向那些希望通過在web上找到的更難的編碼難題來測試自己勇氣的程序員。它曾經是一個日常的事情,但laetly它更像是每2-3天左右。
好的是,挑戰被標記為簡單、中等或困難。壞消息是,即使是簡單的挑戰,尤其是最近的挑戰,對代碼初學者來說也可能相當困難。不過,如果你願意,你可以隨時查閱檔案,重溫舊的挑戰。
Euler項目幾乎就像一組自我指導的快速編碼挑戰。這些檔案總共包含600個挑戰(稱為“問題”),但沒有任何答案、解決方案或討論。通常很容易知道你什麼時候解決了問題,但有時卻不是——這可能會令人沮喪。
此外,歐拉項目的挑戰主要是數學和邏輯性質。您可以在不需要任何編程的情況下解決所有這些問題。然而,作為鍛鍊大腦的一種方式,它們是非常棒的。由於編程都是關於用代碼解決現實世界的問題,這基本上是一樣的。
TopCoder的挑戰與本文中的其他挑戰有些不同,只是因為它們是多人比賽而不是單人拼圖。你必須提前註冊,然後在時間用完之前完成。
不同的是TopCoder的挑戰帶來了鉅額獎金。在上面的截圖中可以看到,在撰寫本文時,有四個正在進行的挑戰,涉及數千美元。一旦你磨練了你的技能就不錯了。這是一個很好的方式來測試你的世界準備作為一個快速編碼。
唯一的缺點是每個挑戰只支持一種特定的語言或一組語言。雖然Swift編碼確實存在挑戰,但可能每個月只有一個。
Coderbyte可能不像上面提到的其他一些挑戰站點那樣詳盡,但它仍然是練習Swift的一個很好的方法。挑戰(分為簡單、中等和困難)包括官方和用戶提交的逐步解決方案,以及問題討論區。
Coderbyte的獨特之處在於它的算法部分,在這裡您可以學習各種算法:樹遍歷、範圍重疊、股價最大化、數組求和、排序實現等等。非常適合新手。
不幸的是,免費用戶只能訪問10個挑戰和解決方案。一個高級賬戶的成本是29美元/月(或者更合理的是150美元/年)。值得嗎?好吧,用你的10個免費挑戰,看看你自己!
如果Swift是您的第一種編程語言,請記住我們的技巧學習編程沒有壓力和我們的技巧掌握一種新的編程語言。一開始可能很難,但要堅持下去!
一旦你對Swift感到滿意,你就可以繼續這些iOS應用程序項目的想法和一般編程項目的想法。沒有什麼比追求一個真正的項目並取得成功更能給編程注入信心了。
你覺得斯威夫特作為一種語言怎麼樣?你最喜歡的學習和練習編程的方法是什麼?在評論中與我們分享!
...戰,開放給各級程式設計師。我們的目標是使用您選擇的編碼語言(語言不可知)構建機器人,並將其帶到虛擬世界中進行戰鬥。 ...
...餘愛好的機會,我們已經涵蓋了他們在我們的愛好,包括編碼和指令碼。如果你最喜歡敲擊鍵盤,可以考慮從那裡開始。 ...
... 它可以是一個理想的地方,建立一個快速演示專案,並展示其潛力,然後再把它扔到世界上。“混合”任何專案的能力為您提供了一種獨特的方式來練習您的編碼技能,然後有合作者可以幫助您度過早期的挫...
離開學校或大學後不久,你就會意識到,有些技能和話題是你想學的。不幸的是,一旦你進入職場,幾乎不可能有時間上課後課程。 ...
...你只有有限的時間來成功地贏得挑戰,所以要注意並準備快速行動。除了挑戰之外,遊戲還有一個無休止的模式,你可以在得分的同時磨練你的技能。一些令人興奮的卡通忍者練習,看看忍者斯賓基挑戰!!。 ...
糟糕的筆跡確實會讓人尷尬,尤其是在專業場合。但是,當我們生活的大部分時間都是由打字和發簡訊應用程式組成的時候,現在怎麼會有人有好的筆跡呢? ...