Det är ju stor skillnad på ramverk och ramverk och projekt och projekt, men i många fall kan ramverk göra koden mer överskådlig även för någon som inte är bekant med ramverket. Man måste ändå bekanta sig med strukturen på koden, och det är långt ifrån alltid utveckling utan ramverk resulterar i mer överskådlig struktur.
Själv utvecklar jag huvudsakligen i Actionscript, och mina senaste bekantskaper är Robotlegs, AS3Signals och Promises:
http://www.robotlegs.org/
https://github.com/robertpenner/as3-signals
http://destroytoday.com/blog/2010/11...-is-a-promise/
En fantastisk kombination som inte alls känns som det ger upphov till några begränsningar men som gör det mycket enkelt att skriva väl strukturerad kod.
Jag vet inte om Dependency Injection och IoC är speciellt relevant för ett dynamiskt språk som JS, men för exempelvis AS3, Java och C# är det verkligen långt ifrån en bromskloss och underlättar verkligen då det gäller att strukturera kod.
Robotlegs tillhandahåller helt enkelt Dependency Injection samt kopplingar för events och kommandon samt ramverkbaserade singeltons. Även om ramverket uppmuntrar en MVCS-struktur ger det full frihet att strukturera koden som du vill, och jag har hittills inte varit med om att det har varit ivägen på något sätt utan finns bara där redo att rycka in för att lösa vanligt förekommande problem.
Då det gäller andra ramverk jag har använt känner jag igen mig till viss del i coredevs och tartareandesires reaktioner, men även om långt ifrån alla ramverk är kan eller bör appliceras på alla projekt så kan de många gånger vara extremt hjälpsamma.