马上就去敲代码是种荒谬且懒惰的想法。就比如在你写一篇文章以前,要先弄清楚你的假设及论据,从而保证文章的内容有意义。不这么作的话,你可能会渐渐意识到你所写内容可能会跑题,不只浪费时间,还影响心情。程序员
一般,解决问题的方法乍一看很简单,但其实否则。先在纸上写写有助于你找到解决问题的方法,并能证明该方法可用于不一样情境,这些都得在敲代码以前完成。算法
因此不要急于敲代码,甚至想都不要想代码。随后你是有足够的时间来作加分号、逗号这些事的。编程
画个图吧,画上箭头,或在框里写上数字,反正,用尽一些能够帮你描述问题的方法。咱们的目标是解决问题,因此不要局限于键盘,请尽情使用你的纸笔。函数
当咱们在写算法时,咱们须要确保咱们能表达出全部内容并能应对全部可能的场景。在找到匹配的时候理应返回正确的答案,在没找到匹配的时候也要放回正确的答案。测试
咱们已经能肯定解决该问题须要的一系列步骤(在编程领域,咱们称之为算法),而且咱们已经不一样情境中进行都尝试并都获得正确的结果。基于这点,咱们就认为该算法是有效的,接下来咱们就该将它算法化。google
这下咱们须要开始考虑语法、函数参数及语言规范了。你或许不能一下就把代码写的很全面,不要紧,先写下你会的。blog
代码中我能够留空了一部分。我是故意的,由于我不肯定在JavaScript语言中给字符串切片的语法,因此我会在下一步中查询该语法。ip
我发现新手程序员常范这样一个错误,就是在网上找到一些以为可能有用语句,不经测试便将其加到程序中。你不理解的代码段越多,就越不可能找到适合的解决方案。字符串
随着你不肯定的内容增长,你的程序出错的方式会呈指数式增长。当你有1处不肯定的时候,你程序确实只会由于这1个缘由而出错。get
可是若是有2处不肯定,出错就有3种状况(A处出错,B处出错,或者AB都出错)。若是有3处不肯定,就有7种状况。到时你就很难找到出错缘由了。
附注:程序出错缘由的个数如梅森序列:a(n) = (2^n) — 1
先测试一下你的新代码。能在互联网上找有用的内容是很好的,可是请在将其加到程序中以前,用一个独立的环境进行测试,以确保它能以你认为的方式运行。
在上一步中,由于不肯定在JavaScript语言里选取字符串某个部分的方式,因此就上网搜一下。