2022/3/18 14:59:31 阅读:202 发布者:chichi77
笔者是一名工科生,大学本科是能源相关专业,对C++基本语法略通。笔者第一次进导师实验室的时候,看到研究生们人手一台电脑编写代码,这时笔者才知道原来读研是要学习编程的。因此读研第一年,除了上课以外,笔者就将主要精力用于学习编程语言,待到研二正式进入实验室就是编程做仿真、做程序了。
有了成果才能够写SCI论文(毕业要求),因为SCI论文,笔者用业余时间学习了一门编程语言,但收获绝不仅仅是一个编程技能,在学习过程中不仅培养了对编程的爱好,也让笔者有兴趣尝试一些程序员工作。
笔者作为一个非专业的编码爱好者,完全靠自学编程,因受益良多,所以也推荐大家读研读博期间如果有机会也学习一下编程。这里分享一个笔者非常喜欢的网站——
codewars(www.codewars.com),它是一个通过解决多种类型和难度级别的编程任务,帮助您学习、训练和提高编程技能的平台。用户可以订制想学习的编程语言、学习难度以及学习方式。
1.codewars有什么用?
下图是一个codewars挑战界面,左边是挑战介绍(都是英文的),右边是编写代码的窗口和测试内容。codewars的操作很简单,挑战难度要比能力稍高,比玩手游、网游还要上头。
磨练你的技能
codewars提供了很多小型编码练习,这些练习可以帮助用户加强不同编程语言的编码技能。用户在codewars上可以挑战自己,掌握当前选择的编程语言,或扩展对编程语言的理解。
获取实例练习
在浏览器上编写代码,解决小型问题。用户可以测试案例检查代码,可以反复训练提高代码的质量和编码技能。
获得军衔和荣誉
codewars提供了不同级别的挑战难度,kata排名从初学者到专家。当用户完成更高等级的挑战时,就会逐步晋级,从而开发编码技能的潜力。
挖掘集体智慧
codewars提供了所有挑战的解决方案,用户可以对比自己的解决方案与其他人的解决方案,以便更好地理解和提高。
创建自己的kata
codewars的编程专注于用户的兴趣,也有开发人员面试问题,以及挑战创造力极限的问题。在编码挑战中,用户可以获得作为老师的荣誉。
2.codewars的注册账号
如果你想要使用Codewars平台,首先要注册一个账号,注册流程比较简单——一个邮箱就足够了,但是还有一个小测试才能完成注册。
(1)注册完成以后,选择你想要挑战的编程语言,如下图所示。codewars基本覆盖了比较流行的编程语言。
(2)选择一个编码语言以后,就会进入第一个(入门级)挑战(两个整数的乘法),如下图所示。在这里直接输入你的代码,点击“SUBMIT”就可以提交。
如果您的代码运行得到的答案是正确的,那么用户可以看到红色提醒,如下图所示。
它会提示您“代码没有正确执行,试着找出原因。”这个时候不要慌,好好看看它的提示,找出错误原因,再点击“TRY AGAIN”,重新编写代码并提交。
如果您的代码运行得到的答案是正确的,那么用户可以看到绿色提醒,如下图所示。
(3)恭喜!你解决了你的第一个Codewars挑战。现在您已准备好完成帐户的创建。只需填写一些详细信息或使用您的 GitHub 帐户在Codewars上进行身份验证,如下图所示。
重要提示:
Codewars将向您发送一封电子邮件,要求您确认帐户。在您的帐户得到确认之前,某些操作(例如发表评论)将受到限制。如果您在收件箱中找不到该电子邮件,请检查您的垃圾邮件文件夹。如果您的帐户尚未确认,则重新发送确认电子邮件的按钮位于帐户设置中。
一定要记住帐号密码,编码用浏览器就可以足够了,不需要其它编辑器。
3.codewars的初体验
介绍完了注册,再来说说Codewars的初次体验。Codewars的Training Setup可以修改你的挑战难度等级、编码语言,如下图所示。
进入kata,可以看到挑战的题目,如下图所示。如果觉得太难或太简单,可以跳过。
挑战这个题目,进入如下图所示的界面。笔者使用的是浏览器的翻译插件,可以很容易帮助我们看懂挑战的题目:
编写一个函数,接收一个或多个单词的字符串,并返回相同的字符串,但所有五个或更多字母的单词都颠倒了(就像这个Kata的名字一样)。传入的字符串将仅包含字母和空格。仅当存在多个单词时才会包含空格。(翻译来自谷歌翻译,翻译不好没关系,但是不耽误我们理解)
Examples: spinWords( "Hey fellow warriors" ) => returns "Hey wollef sroirraw" spinWords( "This is a test") => returns "This is a test" spinWords( "This is another test" )=> returns "This is rehtona test"(不理解题目没关系,好好看看example,有助于理解题目)
输入自己的代码,测试一下,出错了,不要紧,修改一下,就正确了。
再试一下其它测试题目,也通过了,可以提交代码了。
提交代码以后,就可以看到其他人的代码了,果然比我这个菜鸡要牛,一行代码就解决了。
4.codewars:一个高效的学习方法
学习一门编程语言就像学习英语一样,需要量的积累才能产生质变。
笔者用这个网站学习、巩固编程能力,效果还是很明显的。原本不熟悉的语法也在不知不觉间掌握了,原本要翻书查找的语法也能逐渐信手拈来,原来可能要好几行代码才能实现的方法,最后可能只需要一行了。
不同于看书看视频,这个网站提供了很多实际问题,让用户自己思考解决方法,方法可以不唯一,结果是唯一的。
解决一个编程问题以后,非常有成就感。看看别人更好的解决方法,又感觉自己很菜鸡,仍需努力。每解决一个问题,会得到相应的荣誉值,升级自己的等级,让人充满斗志。
笔者觉得codewars是一个非常有意思的平台,但不是唯一可以用于学习编程语言的平台。相比于其他平台,codewars给出的问题更加贴合实际工作与生活,很多题都会给出题目背景,更有代入感。唯一的不足大概是codewars网站为全英文界面吧,但是用浏览器的翻译插件就可以解决语言问题,还是很容易理解练习题目的。
如有侵权,请联系本站删除!