TypeScript Best Practices for Large-Scale Applications