Isang Cautionary kuwento ng kapighatian: Ang Bug Na May Wala
Huling linggo ko inilabas ang isang na-update na bersyon ng aking Talaan ng mga Nilalaman Creator plugin para sa WordPress. Pagmamalaki ko sa aking sarili sa aking mga coding, kasalanan paghahanap at pagsubok ng mga kakayahan. Na ang lahat ng dumating pag-crash sa isang solong gabi.
Upang kunin ang isang mahaba kuwento maikli, ang mga bagong pagbabago na kinakailangan ng isang helper ng function na ipakita ang mga entry ng post. Ang helper ng function ay tinatawag na lamang sa pamamagitan ng isang function na at kaya ko pinili na isama ang helper function bilang isang bata ng pagpapaandar na. Ito ay karaniwang pagsasanay sa maraming mga wika na ito nang maayos pakete ang lahat ng mga function at ang kanilang mga helpers sa malapit na malapit. Function na ang mga magulang sa pamamagitan ng ang paraan ay tinatawag na sa tuwing ang isang pahina ay ipinapakita at terminates kaagad kung ang pahina na hindi isama ang site map initiator tag.
Ok. Time pumasa. Ito ngayon ay 02:00. Ang code ay ngayon handa na upang subukan. Alam ko na ang mga magulang ng Mga labasan ng function na kaagad kung hindi ito mahanap ang initiator tag. Ito ay dati nagtrabaho, at pinuntahan ko wala kahit saan malapit ito, kaya dapat patuloy na gagana. Tama? Ako tingnan ang mga mapa ng pahina ng site, subukan ang lahat ng mga bago at lumang mga pagpipilian at patunayan na ang code ay gumagana bilang inilaan. Mabilis ko i-synchronize ang SVN na repositoryo at sumugod off sa kama upang makakuha ng ilang pagtulog bago ang araw ng pagdating up.
Susunod na umaga na magpasya ako na suriin ang isang malaking site na alam ko na gumagamit ng aking plugin. Walang kapalit para sa tunay na pagsubok ng mundo. Oo, ito ang lahat ay mukhang mahusay. Sa puntong iyon Napansin ko ang isang post sa site ng mapa na na mukhang mga kagiliw-giliw. Ako nag-click sa link na kategorya at ay iniharap sa unang post sa kategorya at pagkatapos ng isang malaking pangit php error na mensahe. Mmm. Tumingin ako sa ibang malalaking site. Mmm. Siguro isang pagkakataon. Hinahayaan tumingin sa isa pa. Oh no!
Kaya kung ano ang napunta mali? Tandaan na ang bata ang function? Narinig ko na ito sinabi na ang mga bata ay maaaring maging masama at ito ay naka-out na maging tunay na sa kasong ito. Kung ang isang blog na pahina, pahina ng kategorya, pahina ng tag o kahit isang home page ay ipinakita, ang maramihang mga post ay ipinapakita sa isang solong pahina. WordPress ito sa pamamagitan ng pagpapanggap na ang bawat post ay isang mini-pahina at mga link sa lahat ng mga mini-pahina-sama upang bumuo ng isang malaking pahina. Nangangahulugan ito na ang aking magulang ang function ay tinatawag na ng maraming beses. Karaniwan hindi isang isyu. Ngunit ngayon bilang function na naglalaman ng mga function anak, ang mga bata pag-andar na ito ay nilikha sa bawat oras na ang magulang ang function ay tinatawag na (kahit na sila ay hindi na ginagamit). Samakatuwid, kapag ang ikalawang post ay ipinakita, ang pahina ng crash sa isang dobleng pangalan ng function na ng mensahe ng error. Ang nett resulta ay na ang isang maliit na bug sa isang function na tila walang-kaugnayang sanhi ng ilang mga napakalaking mga website upang pumunta pababa.
Ang moral ng kuwento: kung ikaw ay isang website administrator, siguraduhin na patakbuhin mo ang buong suite ng mga pagsubok pagkatapos ng bawat update plugin, hindi mahalaga kung gaano malaki o maliit na plugin ay maaaring.



















