最佳实践
为可维护性组织你的项目:
my-project/├── src/│ ├── config/│ ├── utils/│ └── index.js├── tests/└── package.json将配置分离:
export default { name: process.env.APP_NAME || 'My App', debug: process.env.DEBUG === 'true', timeout: parseInt(process.env.TIMEOUT || '5000')};
// index.jsimport config from './config/app.js';import { createApp } from 'your-package-name';
const app = createApp(config);始终优雅地处理错误:
async function safeRun() { try { await app.run(); } catch (error) { console.error('错误:', error.message); // 降级行为 await app.runSafeMode(); }}实现适当的日志记录:
import { createApp } from 'your-package-name';
const app = createApp({ name: 'My App', logger: { level: 'info', format: 'json' }});编写全面的测试:
import { createApp } from 'your-package-name';import { describe, it, expect } from 'vitest';
describe('App', () => { it('应该创建应用实例', () => { const app = createApp({ name: 'Test' }); expect(app.name).toBe('Test'); });});始终验证用户输入:
function validateConfig(config) { if (!config.name || typeof config.name !== 'string') { throw new Error('无效的名称'); } if (config.timeout && config.timeout < 0) { throw new Error('无效的超时时间'); } return config;}
const app = createApp(validateConfig(userConfig));正确清理资源:
async function runWithCleanup() { const app = createApp({ name: 'My App' });
try { await app.run(); } finally { await app.stop(); await app.cleanup(); }}遵循这些最佳实践将帮助你:
- 编写可维护的代码
- 优雅地处理错误
- 确保安全性
- 优化性能