Du har absolut inte utestängt dig själv från något. Som utvecklare har jag dock kommit till en allt större förståelse att det är minst 10 ggr svårare och tidskrävande att ta fram en produkt som man ska leva med än en trevlig proof of concept. Krav på flexibilitet, förändring, ny grafisk profil, snabba tillägg av funktioner, avancerad rättighetshantering, adminstrationsfunktioner, integrering med an dra produkter, skalbarhet över en farm av datorer osv. Allt det kommer, och då ställs andra krav på arkitektur på koden.
Men så länge man jobbar med proof of concept eller mindre produkter går det utmärkt att göra lite hur som helst bara det är prydligt och strukturerat.
När man utvecklar system underlättar det om man gör det inom en befintlig arkitektur, t ex en CMS som WordPress eller Drupal, då man utom viss funktionalitet får en modulariserad arkitektur på köpet där många besvärlig beroenden undviks. För övrigt så är Drupal utvecklat i PHP och är enligt vad jag läst föredömligt strukturerat för att kunna underhållas och kommuniceras mellan utvecklarna.
Donald Knuth har sagt
"premature optimization is the root of all evil". Vill man uppnå en viss mängd funktionalitet och vill bli klar inom en viss tid måste man prioritera, och då kanske optimeringar gör sig bäst på 1-2 ställen och resten av koden kan vara fokuserad på att vara strukturerad för enkel underhåll och utbyggnad. Man ska inte underskatta vad antalet rader kod gör för enkelheten att underhålla och vidareutveckla den. Men färdiga bibliotek blir min kod minst 10 ggr mindre.