| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Medlem
|
Frågan låter som att den har ett självklart svar men jag börjar undra...
Jag jobbar med en stor wordpress-installation (~500000 poster/attachments). Vi har höga krav på prestanda och tillgänglighet. När man laddar hem och testar plugins som finns där ute så blir man tyvärr varse att kodkvaliteten är mycket låg. Utvecklarna tar sällan i beaktning att man kan ha många poster i en databas, dvs att man tex inte kan läsa in alla poster som finns i databasen i en array. Man får lägga mycket tid på att felsöka och fixa den typen av saker. Ett vanligt fel som vi kan se är att utvecklarna stänger av felrapportering och koder allmänt slarvigt. Tex att man anropar variabler utan att vara säker på om variablerna existerar. I produktionsmiljön har vi varit tvungna att supressa vissa felmeddelanden, annars skulle det öht inte gå vägen. Min fråga är då om man helt enkelt ska strunta i att det triggas mindre allvarliga error när koden körs? Att det prestandamässigt skulle vara bättre att dölja felmeddelandet istället för att i koden först kolla om en variabel är satt innan man kollar vad variabeln innehåller. Koden kan tex se ut på följande sätt PHP-kod:
|
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Nykomling
|
PHP-kod:
Fast frågan är hur mycket skillnad det gör i längden, tiden som går åt är försumbar i förhållande till t ex tiden det tar att hämta information från databasen. |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Medlem
|
good point!
Ändå jäkligt frustrerande att jobba med den typen av fel. I testmiljön har vi all debug påslagen då vi inte accepterar slarv i vår egenproducerade kod men då blir det helt plötsligt svårt att använda andras plugin just pga detta. Men som du säger, det ligger helt klart längst ner på priolistan över möjliga kodoptimeringar. |
||
|
|
Svara med citat
|
|
|
#4 | |||
|
||||
|
Bara ett inlägg till!
|
Den stora frågan är: vill du verkligen använda moduler med så låg kodkvalitet?
Att dölja felet med @ är förresten också en dyr operation. |
|||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Medlem
|
Om du vågar
![]() script.php PHP-kod:
PHP-kod:
Senast redigerad av Jake.Nu den 2011-11-26 klockan 04:49 |
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Medlem
|
@intedinmamma
Här är en kul och intressant film inom ämnet http://ontwik.com/php/php-performanc...asmus-lerdorf/ . När Rasmus profilerar en request mot en grundinstallation av wordpress så finner han att endast 10% av exekveringstiden går till kommunikation med databasen, något som han säger är ett varningstecken. Allt han behövde göra för att optimera sin installation avsevärt var att ta bort två widgets från sidebaren har jag för mig. @emilv Det är en avvägning man hela tiden måste göra. Vi har faktiskt en utvärderingsmall som man stödjer sig mot i bedömningen om ett plugin kan användas. @Jake.Nu Någon form av automatisering för att justera den här typen av fel vore en väg att gå. Det blir dock något mer komplext än att bara köra skriptet då mycket av funktionaliteten läggs i filter och actions. Då måste skriptet klara av den biten också. Vi använder ett väldigt bra IDE som direkt hittar en mängd fel av det här slaget. Den klarar dock inte av att man typecastar en array till ett objekt då den är omedveten om datakällan, inte heller extract_args som ofta används i wp. Därför blir det vanligtvis en varningsindikering på varenda rad i ett helt plugin
Senast redigerad av znap den 2011-10-02 klockan 12:11 |
||
|
|
Svara med citat
|
|
|
#7 | ||
|
|||
|
Medlem
|
"actions" och "filter".. vad är det du pratar om? Kan du ge ett exempel?
|
||
|
|
Svara med citat
|
|
|
#8 | ||
|
|||
|
Medlem
|
Det är wordpress-specifika events.
http://codex.wordpress.org/Plugin_API/Action_Reference http://codex.wordpress.org/Plugin_API/Filter_Reference |
||
|
|
Svara med citat
|
|
|
#9 | ||
|
|||
|
Medlem
|
Citat:
|
||
|
|
Svara med citat
|
| Svara |
|
|