巧用“查找”处理自学编程遇到的难题ITeye - AG环亚娱乐集团

巧用“查找”处理自学编程遇到的难题ITeye

2019-01-11 09:25:30 | 作者: 涵蕾 | 标签: 查找,编程,处理 | 浏览: 2579

导言:信任每个自学编程的人,入门之路都阅历了许多崎岖。不过咱们身边藏着许多“良师”,多以运用总是能够带来惊喜。善用“查找”便是其间一位。 
本文选自《一路编程》,怎样经过查找处理自学编程中遇到的问题。

假定你在做一个 JavaScript项目,其间你得到了一个字符串格局的日期(比方, ’2014-10-08’),你想要核算下一天的日期是什么。咱们能够用 parseInt将字符串转换成文字,所以你就用了这个函数。

function nextDay(str) { 
 var num = parseInt(str); return num + 1; 
var date = 2014-10-08; 
var dateParts = date.split(-); 
alert(nextDay(dateParts[1]));

一切顺利。然后有一天你认识到你的程序产生了一些很古怪的成果,但只是在老版别 IE浏览器才呈现:你的程序以为 ’2014-10-08’的下一天是’2014-10-01’,而不是 ’2014-10-09’。你设置了一些断点并单步调试代码,你会发现 parseInt看起来坏了:当参数是 ’08’时,在大部分浏览器中你会得到 8,但在 IE中你会得到 0。你发现了这个问题,但你不知道怎样修正它。现在你要怎样办呢?跟着你不断地编程,你会不断地遇到相似的场景。比窘境愈加让人懊丧的是不知道怎样脱离窘境。

parseInt解说 
为什么老版别 IE的 parseInt会做如此古怪的作业呢?原因是parseInt也对十进制之外的数字有用(比方二进制、八进制,以及十六进制)。假如你不通知parseInt你在运用什么进制,parseInt就用它以为昀合理的进制来解析数字,而’08’看起来像是个8进制数。新的浏览器倾向于默许运用 10进制,即便字符串以 0最初,但老版别 IE依然以为’08’是个 8进制。不管怎样,你应该总是在运用parseInt时指定进制:parseInt(’08’, 10);(以 10为基,或许十进制)会在一切浏览器中回来 8。在 Google年代,每个人都是查找专家。不到几秒钟,你就能够找到各种信息,比方你正在看的电影女演员的八卦信息。由于互联网曾经和现在都是由程序员建立的,互联网上关于编程的信息分外的多。当你遇到像前面parseInt这样的问题时,你肯定会找到答案,只需你知道在哪里找以及怎样找。

找到正确的关键字

假如你不知道要查找什么,你就不或许找到成果。在第一次我要用转义字符时就遇到了这个问题。我不知道有种叫做转义字符的东西。我所知道的便是撇号在损坏我的字符串。在 parseInt比方中,你或许并不知道哪里出问题了,那么你要怎样查找一个处理方案呢?关键在于找到正确的查找关键字。假如你在找一些针对某个编程言语的东西,就在查找中包括这个编程言语的姓名。然后幻想其他遇到相同问题的人会怎样描绘这个问题。例如,在查找 parseInt问题的成果时,一个好的查询或许是“ javascript parseInt returns 0”。当我运转这个查找时,第一条记载就回来了我要找的答案。 
假如你不确认要查找什么,Google的查找主张能够协助你。在你输入查询的开端部分时,提示能够协助引导你找到能够搜到昀佳成果的查询关键字。这些主张意味着其他人查找过这些关键字并且得到了昀佳成果,所以你或许能成功。下图展示了在查找 parseInt处理方案时,一些有用的(以及一些不那么有用的)主张。

你要找的资源依赖于你处于学习的哪一个等级。比方,假如你在考虑学习写 Python程序,你想要找些关于用 Python的优点的介绍性信息。在这样的比方中,你会想要用相似“ why use Python”(为什么运用 Python)和“Python features”(Python特性)这样的查找关键字。在你决议 Python合适你之后,你会想要学习 Python根底。这时,你要查找一些相似 “Python tutorial”(Python教程)这样的东西。在你用 Python作业一段时间后,你或许会遇到一个问题,需求运用正则表达式。你现已知道什么是正则表达式,以及在什么时候要运用它;你只是需求知道怎样在 Python中运用它。那你或许就会查找“Python regular expression”(Python正则表达式)或许“ Python regular expression documentation”(Python正则表达式文档),找到关于 Python中正则表达式怎样作业的文档阐明。现在假定文档笼统,难以了解;你能够查找“ Python regular expression tutorial”(Python正则表达式教程)或许“ Python regular expression example”(Python正则表达式示例),找到一些比较简略消化了解的 Python正则表达式信息。这些比方要阐明的便是,假如你在查找关键字中指定你处于哪个等级,你就更简略找到需求的信息。

过错或许让人特别困扰,由于你的代码不作业,一起过错信息看起来又特别含糊。不过过错信息有一个优点:过错信息中的文字根本上总是不变的。这就意味着,其他人也见过相同过错信息,并且很或许现已找到了处理方案。当你遇到一个不了解的过错信息,复制粘贴整个信息到谷歌,一般你都会找到问题的答案。

在一开端,你或许并不知道自己究竟要查找什么。你或许不完全了解要处理的问题,或许乃至不知道你需求学多少东西才干处理它。只是由于你不完全确认你要找什么,并不意味着你不能查找它。以终为始,追根究底。首要,查找你的昀终方针,在你查找成果的进程中,留心不熟悉的字和短语;然后,查找一切这些看起来相关的关键字,再次记载成果中一切不熟悉的字和短语。 
当你抵达一个点,能够了解简直一切查找成果中的东西时,就能够开端学习那些你不了解的东西,直到你又抵达一个点,这时你了解的常识满足建立你原本要建立的东西。这个进程会协助你在到达方针的进程中学到许多很棒的常识,或许,至少帮你认识到你的方针或许需求比预期更多的作业和学习才干达到。 
这种追根究底式的查找引导我学习了 Web编程。我之前说到过给我的第一个网站完成“主动补全”功用。那时我并不知道那是主动补全,所以我查找了一些相似 “google search suggestion”的内容,这让我发现了关键字“autocomplete”。我读了一些关于 autocomplete的文章,保证那便是我要找的东西,并且发现了关键字 AJAX。我了解到 AJAX便是完成根据用户输入的文字展示查找引荐的技能。我做了些 AJAX调研,发现你有必要写 JavaScript才干运用 AJAX。所以我开端学习 JavaScript,直到我学了满足的常识,能够运用 AJAX,我就能够建立主动补全体系了。在这个进程中,我学到了许多 HTTP、Web服务器,以及数据结构的常识。我信任用追根究底的方法处理编程问题会有给你很大的报答。

辨认高质量资源

不幸的是,互联网上不是什么东西质量都很高。编程信息和其他内容都是如此。当心那些质量不高的网站和书。由于信任网站上那些过期、写得欠好的信息,我学到许多过错辅导和坏习惯。不幸的是,在能够区别凹凸质量资源之前,你或许得吃几回亏。假如你拜访的网站有一大堆广告,特别是它们跟编程根本不要紧或许一点联系都没有,那你就要当心了。当心那些测验把各种论题都包括进来的网站(比方, About.com包括了报税、园艺、编程,以及发型设计)。当你见到那种说你要学的东西很简略的声明,也要当心,假如太简略了,你很或许学到的是过错方法。大部分编程言语、库和结构都有网站,包括完好的、高质量的文档。这些网站一般包括完好的入门信息、初学辅导、教程,以及参阅资料。从这些网站上找到的信息一般都是高质量并且正确的。

个人博客:躲藏的瑰宝

虽然你要当心从一个非官方网站上得来的信息,你仍是能够在博客上找到一些有价值的信息。专业程序员喜爱把他们处理过的问题写出来,一般以博客的方法宣布。文档和教程很棒,但没有什么能够跟实在的人描绘一个实在国际的问题及其解法混为一谈。不过在你信任这个信息之前,仍是要调研下作者。看看他们的 LinkedIn简历、StackOverflow档案、GitHub档案,以及任何其他你能找到的资源。假如他们看起来理解他们在说什么,你就找到了一个很好的信息源。这类博客就像编程导师;他们给你怎样更好编程的免费主张。记住,假如你接纳他们的主张,要在文档中提一下那篇博客。

本文选自《一路编程》,点此链接可在博文角度官网检查。 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    vba upgradeITeye

    文件,程序,晋级
  • 2

    java 多线程ITeye

    线程,作业,内存
  • 3
  • 4

    ClassLoaderITeye

    运用,文件,办法
  • 5
  • 6

    手机号码校验合法性ITeye

    代表,必定,第二位
  • 7
  • 8

    Java 目标巨细的核算ITeye

    目标,巨细,字节
  • 9
  • 10