# 開発基準 ## コードコメントの基準 ### 1. コメントの言語 - **すべてのコードコメントは英語を使用する必要があります** - 以下を含みますが、これらに限定されません: - 関数/メソッドのコメント - 行内コメント - コードブロックの説明 - TODO/FIXME コメント ### 2. ログ出力の基準 - **すべてのログ出力は英語を使用する必要があります** - 以下を含みますが、これらに限定されません: - `logger.log()` 情報ログ - `logger.warn()` 警告ログ - `logger.error()` ラーログ - `console.log()` デバッグ出力 ### 3. メッセージの基準 - **すべてのメッセージ(エラー、APIレスポンス、UIテキストなど)は国際化(i18n)を保証する必要があります** - ハードコードされた文字列を直接使用せず、必ず翻訳キーを使用してください ## 例 ### 正しいコメントとログ ```typescript // 正解:中国語のコメント async getEmbeddings(texts: string[]): Promise { this.logger.log(`正在为 ${texts.length} 个文本生成嵌入向量`); // 正解:中国語のログ try { // APIを呼び出して埋め込みベクトルを取得 const response = await this.callEmbeddingAPI(texts); return response.data; } catch (error) { this.logger.error('获取嵌入向量失败', error); // 正解:中国語のログ throw new Error('嵌入向量生成失败'); // 正解:中国語のエラーメッセージ } } ``` ### 誤ったコメントとログ ```typescript // 誤り:英語のコメントとログ async getEmbeddings(texts: string[]): Promise { this.logger.log(`Getting embeddings for ${texts.length} texts`); try { // Call API to get embeddings const response = await this.callEmbeddingAPI(texts); return response.data; } catch (error) { this.logger.error('Failed to get embeddings', error); throw new Error('Embedding generation failed'); } } ``` ## 履行基準 1. **コードレビュー時には、必ずコメントとログが英語であること、およびメッセージが国際化されているかをチェックしてください** 2. **新規コードは、英語のコメントとログ、および国際化されたメッセージの基準に従う必要があります** 3. **既存のコードをリファクタリングする際は、同時にコメントとログを英語に更新し、メッセージを国際化してください**