Precies, als je een bug in productie tegenkomt ga je die in een van de andere omgevingen testen. En om die omgeving te debuggen moet je natuurlijk wel goed na kunnen gaan wat er mis ging in productie en dan is het hebben van correcte regelnummers bij de foutmeldingen in je logfiles best wel zinvol.
Bovendien kan het strippen van whitespace bugs opleveren doordat de code verandert. Stel dat iemand in een sql-query string bijv voor parser hints een -- verwerkt (equivalent van // in java), je kan de whitespace niet zomaar uit die string verwijderen omdat dan de hele query syntactisch onjuist wordt en je kan die comments niet wegstrippen omdat je dan je parser hints kwijt bent. Bij C heb je natuurlijk ook compilerhints #define enzo.
Bij Java zal dat iets minder een argument zijn omdat die geen compilerhints kent en je strings niet over meerdere regels geplaatst mogen zijn.
Voor html zijn vergelijkbare cornercases te bedenken (sowieso is er de <pre>-tag en de white-space: pre; constructie in css). Dus in de praktijk zal je de gestripte versie dan ook moeten testen, wat het debuggen dan weer lastig maakt...
Ik vind persoonlijk dat het strippen van whitespace, comments en andere "overbodige syntax" alleen gedaan moet worden als je er
wel een reden toe hebt. De reden 'er is geen reden om het niet te doen' vind ik niet zo sterk, bovendien heb ik je er net twee gegeven. Bij programmacode maakt het voor een gecompileerde omgeving toch al geen bal uit en voor een geinterpreteerde omgeving bijzonder weinig, zeker als je omgeving het resultaat van de on-the-fly compilatie ergens bewaart.
Voor html, css en javascript is het een beetje zinvol om de hoeveelheid dataverkeer terug te dringen, maar na gzip-compressie is een en ander niet bijster effectief meer.
Verwijderd schreef op maandag 09 april 2007 @ 16:52:
Oh maar dat ben ik ook wel met je eens hoor. Maar ik was in de context van de server aan het babbelen. Aangezien ik in had gestoken op het feit dat het compacter maken van je css-en en js-en wel degelijk je server ontlast.
k denk dat het dusdanig marginaal is, dat je daar beter niet eens tijd aan kan besteden. Je bereikt veel meer door de clients uberhaupt die files niet te laten opvragen (correcte caching headers) of door een (lightweight) webserver te installeren die dan eventueel ook nog de gegzipte versie in een cache bewaard om zo sneller op de browser-requests te kunnen reageren.
We hadden een niet zo lekker ingestelde caching-header voor IE6 (die is daar nogal gevoelig mee) met als gevolg dat bepaalde statische files toch elke request opnieuw opgevraagd werden, toen we dat gefixed hadden zag je een grote teruggang in het aantal verwerkte requests door apache, maar je zag eigenlijk nauwelijks teruggang in de cpu-usage en system load.
Kortom, voor de servers maakte het nihil uit dat ze dat extra werk niet meer hadden, ondanks dat het voor de clientside misschien een beetje merkbaar was.
Gewoon beide. Immers commentaar hoeft voor css en js niet over het lijntje...
Ook daar geldt het argument van veranderende code en regelnummers, imho.
[
Voor 25% gewijzigd door
ACM op 09-04-2007 17:13
]