A tanmese a Jaj: The Bug megszökik
A múlt héten kiadott egy frissített változatát én Tartalomjegyzék Creator plugin for WordPress. Én magam büszke az én kódolás, hibakeresés és tesztelés képességeit. Hogy minden összeomlik jött egyetlen éjszaka.
Hogy csökkentsék a hosszú történet rövid, az új verzió szükséges segítő funkció jelenik utáni bejegyzéseket. A segítő funkció csak egy funkció hívott, és én ezért is választották a segítő funkció, mint a gyermek az adott funkciót. Ez bevett gyakorlat számos nyelven, mert szépen becsomagolja az összes funkciót és segítőik közel. A szülő funkció egyébként minden alkalommal hívják az oldal jelenik meg, és azonnal leáll, ha a honlap nem tartalmazza az oldaltérképet kezdeményező tag.
Ok. Múlik az idő. Ez most 02:00. A kód most már készen áll a tesztelésre. Tudom, hogy a szülő a funkció azonnal kilép, ha nem találja a kezdeményező tag. Ez korábban működött, és a közelében sem jártam, ezért nem kell tovább dolgozni. Igaz? Megnézem az oldaltérképet oldalon, próbáld ki az összes régi és új lehetőségeket, és igazolják, hogy a kód működik rendeltetésszerűen. Gyorsan szinkronizálni az SVN repository és rohanás le az ágyba aludni, mielőtt a nap jön fel.
Másnap reggel úgy döntök, hogy ellenőrizze egy nagyobb területen tudom, hogy használja az én plugin. Nincs helyettesítheti a valós tesztelés. Igen, az egész jól néz ki. Ezen a ponton láttam egy post az oldaltérkép úgy nézett ki, érdekes. Rákattintottam a linkre, és kategóriában mutatták be az első hozzászólás a kategóriában, majd egy nagy csúnya php hibaüzenetet. Mmm. Néztem egy másik nagy helyszín. Mmm. Talán véletlen egybeesés. Nézzük meg még egy. Ó, nem!
Szóval mi volt a baj? Ne feledje, hogy a gyermek a funkció? Azt hallottam, azt mondta, hogy a gyerekek lehet, gonosz és kiderült, hogy igaz ebben az esetben. Ha egy blog oldal, kategória oldalra, címke oldal, vagy akár egy otthoni lap jelenik meg, több hozzászólás is látható egy oldalon. WordPress teszi ezt az ürüggyel, hogy minden posztra egy mini-oldalt, és összekapcsolja a mini-oldal együtt alkotnak egy nagy oldalon. Ez azt jelenti, hogy a szüleim a funkciót nevezik többször. Általában nem okoz problémát. De most, ahogy a gyermek funkciókat funkció tartalmazza, ezeket a funkciókat gyermek létre minden alkalommal, amikor a szülő függvény hívódik meg (akkor is, ha azokat nem használják). Ezért, amikor majd a 2. után jelenik meg, az oldal lefagy a kettős funkció neve hibaüzenet. A Nettó eredmény az volt, hogy egy kis hiba egy látszólag független funkciója miatt számos nagy weboldalak lemenni.
A hangulat a történet: ha egy honlap adminisztrátora, ügyeljen arra, hogy futtassa a teljes elvégeztetett frissítés után minden plugint, nem számít, mennyire kicsi vagy nagy, hogy a bővítmény is lehet.



















