Mijn CMS'je is gedeeltelijk modulair van opzet: elke functionaliteit (forum, userbeheer, templating, etc) zit in een aparte module (= php bestand). Ook heeft elke module zijn eigen database tabel of tabellen, geprefixed met de modulenaam.
Nu is het zo, dat modules ook vaak eigen, specifieke javascripts gebruiken. Ook gebruiken een aantal modules plaatjes (icoontjes) die andere modules niet gebruiken. Tot nu toe heb ik alle javascript functies in 1 bestand gedumpt, genaamd 'common.js'. Alle plaatjes zijn in de map /images gezet.
Nu bedacht ik mij vannacht dat het eigenlijk logischer zou zijn om elke module in een eigen map te zetten, met daarin het php bestand en module specieke javascript, language file, css en plaatjes.
Het nadeel daarvan is echter, dat je op 1 pageload meerdere javascript bestandjes moet inladen, meerdere stylesheets en dat de tekststrings niet in 1 bestand staan, maar in meerdere language files verspreid. Het betekent dat de client meer verschillende bestanden moet downloaden, en dat de server realtime meerdere language files moet aanspreken ipv 1. Bovendien staan tot nu toe alle modules in dezelfde map '/modules', waardoor het includen redelijk snel gaat. Maar ook dat zal trager gaan als elke module in een eigen /modules submap staat.
Kortom: hoe ver gaan jullie met het opdelen van je code? Ik heb het idee dat ik het door op te delen beter onderhoudbaar maak, maar er staan zoals gezegd een aantal nadelen tegenover...
Nu is het zo, dat modules ook vaak eigen, specifieke javascripts gebruiken. Ook gebruiken een aantal modules plaatjes (icoontjes) die andere modules niet gebruiken. Tot nu toe heb ik alle javascript functies in 1 bestand gedumpt, genaamd 'common.js'. Alle plaatjes zijn in de map /images gezet.
Nu bedacht ik mij vannacht dat het eigenlijk logischer zou zijn om elke module in een eigen map te zetten, met daarin het php bestand en module specieke javascript, language file, css en plaatjes.
Het nadeel daarvan is echter, dat je op 1 pageload meerdere javascript bestandjes moet inladen, meerdere stylesheets en dat de tekststrings niet in 1 bestand staan, maar in meerdere language files verspreid. Het betekent dat de client meer verschillende bestanden moet downloaden, en dat de server realtime meerdere language files moet aanspreken ipv 1. Bovendien staan tot nu toe alle modules in dezelfde map '/modules', waardoor het includen redelijk snel gaat. Maar ook dat zal trager gaan als elke module in een eigen /modules submap staat.
Kortom: hoe ver gaan jullie met het opdelen van je code? Ik heb het idee dat ik het door op te delen beter onderhoudbaar maak, maar er staan zoals gezegd een aantal nadelen tegenover...
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."