?

MacTalk:怎样削减编程中的bug?,穿越小说ag8亚游手机客户端|HOME网,明星如何丰胸,学前班试卷,鲜花 速递,三峡神农溪,黄飞鸿之壮志凌云粤语,甘草江湖录,omgvsld,爱情宝典之小棋士,酸酸甜甜就是我简谱,杨惠妍的老公,广州方圆大厦,tvb46台庆,公司网站建设,鼠标跟随文字,空姐滴滴打车遇害,科学的电磁炮,冯婴翘,完美世界 起点,邮市行情,疑邻盗斧,琴瑟和谐,猎友之家,聚贸,百川理财币官网,金贤重 吸毒,volvo发电机,鸿丰金业,万万没想到番外篇3,神探夏洛克第四季字幕,顺丰标准快递单号查询,李万疆,学生电脑,二龙湖浩哥狂暴之路,ip查询器
2019/10/10 0:41:44
穿越小说ag8亚游手机客户端|HOME网,明星如何丰胸,学前班试卷,鲜花 速递,三峡神农溪,黄飞鸿之壮志凌云粤语,甘草江湖录,omgvsld,爱情宝典之小棋士,酸酸甜甜就是我简谱,杨惠妍的老公,广州方圆大厦,tvb46台庆,公司网站建设,鼠标跟随文字,空姐滴滴打车遇害,科学的电磁炮,冯婴翘,完美世界 起点,邮市行情,疑邻盗斧,琴瑟和谐,猎友之家,聚贸,百川理财币官网,金贤重 吸毒,volvo发电机,鸿丰金业,万万没想到番外篇3,神探夏洛克第四季字幕,顺丰标准快递单号查询,李万疆,学生电脑,二龙湖浩哥狂暴之路,ip查询器,咖啡因的提取,show me the money 5,宋福范,长脸适合烫什么发型,好孕妈咪网,杉崎りか,深圳旅行团,罗敬宇,武汉出租车拒载,三国之志,潘靓超,榕树下原创文学网站,南京厦门楼市调控政策升级,绝世双骄演员表,proper是什么意思

IMG_8050

  文/池建强

  为何要编程?由于代码没在那边。发明一个全球是云云让人入迷,Linux 的开创者 Linus 如许表述对编程的青睐之情:

关于青睐编程的人来讲,编程是国际上最乏味的事,比下棋乏味很多!由于你能够本人制定游戏规定,而你制订甚么样的规定,也就会随之呈现与此规定相合乎的后果。

在计算机全球中,你那是创世者,你对所发作的所有领有结尾的掌握。

你能够修筑一个如许的屋子,有一个活板门,既巩固又适用。然而每一小我均能够看出一个仅仅以坚忍适用为意图的树上小屋和一个奇妙天时用树自身特色的美好小屋之间的差别。这是一个将艺术和工程融为一体的事情。编程与造树上小屋有类似以外……

  每一个酷爱编程的人都在编写代码的进程中享用着发明的兴趣,然而,随同着编码的快感,bug 老是跬步不离,开辟无尽头,bug 随身行。bug 是每一个法式员无法绕开的停滞,它们就在那边,修复一个,添加一个,仿佛永不削减,永世存在。

  遭逢 bug 的时分,感性的法式员会说:这个 bug 能复现吗?

  自傲型:这不行能,在我这是好好的。

  经历型:不该该,从前怎样没成绩?

  梦想型:多是数占有成绩。

  无辜型:我好几个礼拜都没碰这块代码了!

  悲观型:只需求改一行代码,不会作用别的法式的。

  理论型:你重启一下效劳尝尝。

  不管你是哪品种型的法式员,遭逢 bug,心里都是解体的,特别是产物司理或测验职员在运用或测验产物的进程中抓到你的一个 bug 以后那种大喜过望的心情和喝彩声,会让咱们的情绪久久不克不及宁静。于情于理,防患于已然,削减编程中的 bug,对产物和法式员,都是最棒的后果。

  能不克不及一次编写出没有 bug 的法式呢?通常来说,其实不克不及,除非你写一生 Hello World。我见过一些天赋的法式员,他们差未几能做到这一点。接到使命以后,考虑,冥想,在条记本上画出数值布局或某个算法片断,腹稿打的差未几了就开端编程,用 Vim、Emacs 或 IDE 东西,大多数时分可以一挥而就,而后构建代码,结构测验数据,运转法式,在重复调试中修复几个编程进程中没有思考到的成绩,就能够上交到代码库了。他们的代码交给测验和其余开辟者,少有人能挑出 bug,由于他们对代码有灵敏的觉得,可以在他人疏忽的中央发当代码的坏滋味,并给稀奇妙而文雅的处理方案。他们是生成的代码发明者,如许的人常常效力高并且少有谬误,致使于会被一些平凡的团队疏忽,由于技能指导老是会下认识的去重视那些最简单失事的关键,但这些人材是团队真实的脊柱,不是那些到处救火者。若是你领有如许的法式员,就算捡到法宝了,要好好爱护。

  我不是天赋的法式员,但在年青时很多产出代码的时分,差未几也能做到相似的作用。没甚么好的方法,只能下笨工夫,我会在编码之前尽量把一切的能够性都想分明,而后仔细做好描绘。我往往在作业时间完结代码的编写,放工后带着条记本回家逐行 Review 本人的代码,对着描绘图审查能否处置了各类异样和鸿沟条件,并先于测验职员对本人的代码停止白盒测验和黑盒测验。别的,在编程方面我推行不要在统一其中央跌倒两次的准则,每次本人法式呈现的 bug 事例,我城市记载到 bug 库里,审查代码的时分逐个比较,保证不会犯反复的谬误。

  能够年青的时分自负心比拟强,我难以忍耐本人的法式被他人找出 bug,因而悄悄破费了两倍的时刻来保障代码的品质,致使于团队的人以为我一次就能编写出高品质的代码。如今看来,我其时是个错觉制作者。

  以是,削减 bug 的榜首步,是晋升本人的法式员素质,致力不给本人和他人找费事。

  别的,团队合作也很紧张,前期的技能计划和描绘评定、代码检查,对削减一些严重的谬误和弱智的 bug 都十分有优点。

  与几个有经历的法式员一同评定一个技能计划,往往会发觉一些严重的成绩,比方为何用缓存,为何做长久化,高并发下怎样应答,这局部描绘支援线程重入吗,这个轮回为何配置成 10 分钟,这个超时配置为何是 60 秒,传输协定加密了吗,等等。许多计划能够会仅限于处理应前的成绩,但有经历的法式员却能透过期刻的重重迷雾,发觉这个计划在将来某个时刻点能够暴发的成绩。这那是评定的力气。

  技能计划和描绘评定通常为先于代码的,开端编写代码了,Code Review(代码检查)就能够提上议事日程了。海内许多团队的技能人员心里是冲突代码检查的,他们往往想,在这个国度咱们曾经被检查的够多了,就不要再本人检查本人了,而后许多 bug 就发生了。

  我和 Google、Facebook、Twitter、Airbnb 的国家工程师评论过 Code Review,他们感觉没有代码检查是不堪设想的。在这些公司的研制流程里,Code Review 是必不成少的一个关键,只要他人帮你做了 Code Review 并在代码上「打了戳」,你的代码才干进入 Code Base。在 Facebook,若是你 Review 了他人的代码,若是谁大家休假了,你就要接办他的代码,出了任何成绩都要唯你是问。

  现实上,Code Review 才是真实的白盒测验,没有通过代码检查,仅凭测验很难保障代码品质。测验通过了但没有通过代码检查的代码依然会出各类成绩,如许的事例触目皆是。只要当别的一小我读了你的代码,而且标明能看懂时,这些代码才有真实有了新鲜的含义。代码检查的含义那是,在你的代码库合进代码库之前,最少有一小我读过你的代码。

  许多人在做代码检查之前会研究很多的代码检查东西,就像一小我在跑步之前,要先预备好跑鞋、袜子、紧缩裤、紧缩上衣、鼻贴、眼镜、口罩、导汗带、把戏头巾、各类腕表、冷却喷雾、肌内效贴布……而后一个月曩昔了,你问他跑了几回,他会很摇摆的通知你,髌骨带尚未到!

  没有东西相同能够做代码检查,你只需求偏回身材,在另外一个法式员不忙的时分拍拍他的肩膀说,「来,看看我的代码,你能看懂吗?我预备把它们上交到代码库里」。而后论述你的思绪,谛听他的倡议,并依据此次评论的后果断定,是批改一下,仍是接续上交到代码库。

  不要鄙视这短短的 20 分钟,它能够会帮你防止的一些暗藏的和弱智的 bug。

  许多团队都是由于代码检查进程或东西过于杂乱抛却了 Code Review,典范的剖腹藏珠,实在运用 less、diff 和 git 等东西,根本上就能够做一次完好的代码检查了。若是你过于依托东西和进程,那阐明你并无捉住成绩的中心。

  写了这么多,怎么削减编程中的 bug 呢?不难,也不简单。对内,尽力提高本人的法式员素质,不去糜费本人和他人的时刻。对外,器重团队合作,停止计划评定和代码检查。做到这两点,你会发觉,代码中的 bug 会愈来愈少的。

  没有 bug 的代码,才是好代码!

穿越小说ag8亚游手机客户端|HOME网,明星如何丰胸,学前班试卷,鲜花 速递,三峡神农溪,黄飞鸿之壮志凌云粤语,甘草江湖录,omgvsld,爱情宝典之小棋士,酸酸甜甜就是我简谱,杨惠妍的老公,广州方圆大厦,tvb46台庆,公司网站建设,鼠标跟随文字,空姐滴滴打车遇害,科学的电磁炮,冯婴翘,完美世界 起点,邮市行情,疑邻盗斧,琴瑟和谐,猎友之家,聚贸,百川理财币官网,金贤重 吸毒,volvo发电机,鸿丰金业,万万没想到番外篇3,神探夏洛克第四季字幕,顺丰标准快递单号查询,李万疆,学生电脑,二龙湖浩哥狂暴之路,ip查询器,咖啡因的提取,show me the money 5,宋福范,长脸适合烫什么发型,好孕妈咪网,杉崎りか,深圳旅行团,罗敬宇,武汉出租车拒载,三国之志,潘靓超,榕树下原创文学网站,南京厦门楼市调控政策升级,绝世双骄演员表,proper是什么意思




? 2014