2009年1 11月 2评论

一个悲哀的警世故事:那不舍得的问题

http://markbeljaars.com/wp-content/plugins/sociofluid/images/digg_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/reddit_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/stumbleupon_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/delicious_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/furl_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/technorati_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/facebook_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/mixx_48.png~~V http://markbeljaars.com/wp-content/plugins/sociofluid/images/twitter_48.png~~V

上周,我发布我的最新版本的WordPress插件目录表造物主 我自己感到自豪,我的编码,故障查找和测试能力。 这一切都在一个单一的夜晚轰然倒塌。

为了削减长话短说,新修订需要一个辅助功能,以显示职位条目。 辅助函数只由一个函数调用,因此,我当选为辅助功能包括作为该函数的孩子。 这是在许多语言中常见的做法,因为它整齐打包的所有功能,在接近其佣工。 父函数的方式被称为每次将显示一个页面,并立即终止,如果该页面不包括站点地图引发标签的时间。

确定。 时间的流逝。 现在是凌晨2点。 现在准备测试代码。 我知道父函数退出立即如果没有找到启动标签。 曾任职,我无处去靠近它,因此它应该继续努力。 对不对? 我检查站点地图页面,尝试所有新的和旧的选项和证明的代码工作。 我赶紧同步SVN库和急于到床上睡个安稳觉,在太阳升起之前。

第二天早上,我决定来检查一个大型网站,我知道,用我的插件。 有没有替代真实世界的测试。 是啊,这一切看起来不错。 在这一点上,我发现我有兴趣在站点地图中的职位。 我点击类别链接和类别中的第一篇文章,然后一个大的讨厌PHP的错误消息。 嗯。 我看着另一家大型网站。 嗯。 也许是巧合。 让我们看一个。 噢,不!

那么,什么地方出了错? 记住,儿童的功能吗? 我听说它说,孩子们可以是邪恶的,它竟然是在这种情况下的真实。 如果一个博客页面,分类页面,标签页或什至一个主页显示,在一个页面上显示多个职位。 WordPress的通过假装每一个职位是一个小型的网页,所有的迷你网页链接在一起,形成一个大页面。 这意味着,我的父函数被多次调用。 通常不是一个问题。 但现在的功能包含子功能,这些子功能创建的每个父函数被调用(即使他们不使用)。 因此,当第二个职位显示,页面崩溃重复的功能名称错误消息。 的净结果是,在一个看似无关的功能的小错误,导致一些非常大的网站去。

故事的士气:如果你是一个网站管理员,确保您运行插件更新后,每一套完整的测试,无论多么大或小的插件可能。

标签: WordPress的

SpinChimp Leaderboard 728x90