所有技术相关的东西,都是练得越多,效果越好,Java 编程也不例外。

经常性的练习,可以让我们学到各种技术以及自己根本想不到的算法,还有运用技术解决复杂问题的方法。但是,日常的实践练习是一件非常枯燥而且短期内看不到效果的事情,一般人很难坚持下来。

不过,现在有很多平台都设计了各种编程小游戏或者任务挑战,让我们可以像玩游戏一样去通关,获得成就感,也能更好地坚持。今天就给大家推荐几个我常用的平台。

CodeGym

价格:

  • 免费

如果你喜欢玩《星球大战》之类的游戏,那么你可能会喜欢 CodeGym。

CodeGym 里的编程练习,都是通过游戏制作的方式完成的。星球探测器被野蛮的外星人困在外太空,无法返航,回家的唯一方法是通过 Java 代码,控制太空人,将探测器从石头堆里拉出来。在练习的过程中,太空人会教你编码,并解释 Java 的工作原理。

这只是其中一个小游戏,CodeGym 提供 1200 多项任务,供我们完成。练习者还可以在 CodeGym 社区里寻求帮助,也可以分享自己的心得和成果。

相较于一开始就啃一些大部头,CodeGym 会有趣得多,非常适合初学者。CodeGym 现在针对中国区完全免费,非常划算。

Codewars

价格:

  • 免费

  • 9.99 美元/月,即可访问更多教程

学习最好的方法就是教会别人。如果你喜欢社区型和分享型的学习方式,那么 Codewars 会比较适合你。

Codewars 的教程都是由愿意分享的用户提供的。这里更像一间自习室,大家一起学习,一起练习,一起讨论,一起分享经验,一起解决问题。最后,你还可以创建自己的课程,把自己学到的东西再教给别人,同时也是对自身知识体系的构建和汇总。

除了Java,你还可以探索其他语言。Codewars 支持 20 种主流语言,还有12 种语言在测试中。基本课程都是免费的,如果你需要更多高级课程,9.99 美元的月费也相当划算。
 

Cyber-dojo

价格:

  • 免费(用于非商业用途)

  • 接受捐款

Cyber​​-dojo 是小组练习的绝佳选择。 但是,它需要对编程有一些基本的了解。项目的目标不是在游戏中取得胜利,而是获得经验。 任务可以单独解决,也可以团队合作。学生还可以参加小组会议。

平台上有 30 种编程语言和一些彼此相关的测试框架。 我当然更喜欢 Java。 但是,如果你对偏后台的任务感兴趣,也可以练习 Go,对大数据感兴趣的话,可以练习 Python。

Cyber-dojo 免费提供给个人使用,公司使用则要获得许可证。该平台由同名基金会创建,平台获取的收益和捐款将用于向世界各地的儿童传播软件和电脑相关知识。例如,该平台为马拉维的 63 所学校购买了电脑。

CodeChef 

价格:免费

如果你喜欢比赛类的平台,CodeChef 是个不错的选择。在这里,你可以根据你的水平和级别来选择不同难度的比赛。

平台上各种挑战从易到难,我们可以根据学习的进度来选择,排名系统基于用户完成各种任务所获得的积分。你可以按照标签列表来解决问题,或者按照难度级别来选择任务。遇到问题可以在论坛上与其他挑战者一起交流寻求帮助。

除了一般性的比赛,平台每个月还会举行三场特色比赛(Cook Offs),获奖者会有奖品赠送,名字会公开显示在首页上。为了公平起见,你不能参加低于自己分数组的比赛。 除此之外,平台还会定期举办外部竞赛。听起来是不是跟数据领域的 Kaggle 很像?

CodinGame

价格:

  • 349.00 美元 /月

  • 249 美元/月 (一年订阅)

CodinGame 是一个综合性的平台,几乎涵盖了所有上述平台的功能。

在这里,你可以参加编码比赛,也可以玩编程小游戏,还有一个庞大而活跃的程序员社区,可以提问、讨论,也可以学习经验。

最重要的一点是,这个社区经常有猎头和招聘方出没,他们会来观看比赛,也会在社区活跃,挖掘人才。因此,机会也相当地多。

当然,相对应地,这个平台的月费也比较高,349刀/月,年订阅比较划算,249 刀/月。适合有一定基础的程序员。

Codecademy

价格:19.99 美元

Codecademy 是一个强大的教育平台,虽然课程质量不一,但种类详尽,你可以在上面找到各种各样想学习的东西。

平台提供 14 种编程语言,有各种主题可供选择,比如“网站设计”或“数据科学”。Codecademy 还提供很多官方认证的课程。你还可以邀请内部社区的专家来审查你的代码,给你提供修改建议。

世界各地还有很多 Codecademy 共学小组,你可以参加现有的小组或创建新的小组,与小组成员连线或见面。今年开始,平台针对专业级用户提供了大幅折扣,折扣幅度超过 35%,需要的同学不要错过。

此外,平台还提供 cheatsheet 帮助大家快速掌握基础知识,这是 Java 的:https://www.codecademy/learn/learn-java/modules/learn-java-hello-world/cheatsheet。

结束语

希望这个编程练习平台的清单,可以给你节省在搜索引擎找来找去试错的时间。最后的最后,无论选择哪个平台,最重要的都是坚持不断的练习。

你完成的每个任务,解决的每个问题,思考的每个算法,帮助的每个人,都会让你最终成为一名优秀的 Java 开发者。加油

更多推荐

哪些平台适合 Java 日常编码练习