- Claude Codeใฏ่ช็ถ่จ่ชใฎๆ็คบใ ใใงJestใปVitestใปpytestใปGo testใปRSpecใชใฉไธป่ฆใใฌใผใ ใฏใผใฏใฎๅไฝใในใใ่ชๅ็ๆใงใใ
- ใซใใฌใใธใฌใใผใใ่ชญใพใใฆใในใไธ่ถณ็ฎๆใ็นๅฎใใใใใคใณใฟใฉใฏใใฃใๆนๅใซใผใใใๆใๅน็็
- SES็พๅ ดใฎใฌใฌใทใผใณใผใใๆขๅญใณใผใใธใฎใในใ่ฟฝๅ ใซใๆๅนใงใใชใใกใฏใฟใชใณใฐใฎๅฎๅ จ็ถฒใจใใฆๆฉ่ฝใใ
ใใในใใๆธใๆ้ใใชใใใใซใใฌใใธใไธใใใจ่จใใใฆใไฝใใๆใใคใใใฐ่ฏใใใใใใชใใโโSES็พๅ ดใงใใใใฃใๆฉใฟใๆฑใใใจใณใธใใขใฏๅฐใชใใใใพใใใ็นใซๆขๅญใฎใณใผใใใผในใซๅพใใใในใใ่ฟฝๅ ใใไฝๆฅญใฏใใณใผใใฎๆๅณใ่ชญใฟ่งฃใๅฟ ่ฆใใใใๆใฃใไปฅไธใซๆ้ใใใใใพใใ
Claude Codeใไฝฟใใฐใใใใใ่ชฒ้กใๅคงๅน ใซ่ปฝๆธใงใใพใใ่ช็ถ่จ่ชใงๆ็คบใใใ ใใงใๅฏพ่ฑกใณใผใใ่งฃๆใใฆ้ฉๅใชใในใใฑใผในใ่ชๅ็ๆใใฆใใใใฎใงใใๆฌ่จไบใงใฏใClaude Codeใๆดป็จใใๅไฝใในใ่ชๅ็ๆใฎๅฎ่ทต็ใชไฝฟใๆนใใใณใใณใไพใไบคใใชใใ่ฉณใใ่งฃ่ชฌใใพใใ
Claude Codeใฎใในใ็ๆๆฉ่ฝใจใฏ
Claude CodeใฏใAnthropicใ้็บใใCLIๅAIใณใผใใฃใณใฐใใผใซใงใใใฟใผใใใซใใ็ดๆฅใณใผใใฎ็ๆใป็ทจ้ใปใฌใใฅใผใใงใใพใใใ็นใซใในใ็ๆใซใใใฆ้ซใๅฎ็จๆงใ็บๆฎใใพใใ
ใในใ็ๆใฎไป็ตใฟใฏใทใณใใซใงใใClaude Codeใฏๅฏพ่ฑกใใกใคใซใ่ชญใฟ่พผใฟใ้ขๆฐใใกใฝใใใฎๅ ฅๅบๅใใฟใผใณใ่งฃๆใใฆใ็ถฒ็พ ็ใชใในใใฑใผในใ็ๆใใพใใๅ็ดใชใใใใผใในใ ใใงใชใใใจใฉใผใฑใผในใๅข็ๅคใฎใในใใ่ชๅใง่ๆ ฎใใฆใใใพใใ
้ขๆฐใฎๅผๆฐใใฟใผใณใ็ถฒ็พ ใใใฑใผใน็ๆใใจใฉใผๅฆ็ใปไพๅคใใญใผใฎใในใใ้ๅๆๅฆ็ใฎใในใใไพๅญใขใธใฅใผใซใฎใขใใฏใปในใฟใ็ๆใๆขๅญใในใในใคใผใใซๅใใใในใฟใคใซใงใฎ่ฟฝ่จ
ๅฏพๅฟใใฆใใใในใใใฌใผใ ใฏใผใฏ
Claude Codeใฏไธป่ฆใชใในใใใฌใผใ ใฏใผใฏใซๅฏพๅฟใใฆใใพใใใใญใธใงใฏใๅ
ใฎ่จญๅฎใใกใคใซ๏ผpackage.jsonใpyproject.tomlใgo.modใชใฉ๏ผใ่ชๅๆคๅบใใฆใ้ฉๅใชใใฌใผใ ใฏใผใฏใฎใในใใ็ๆใใพใใ
| ่จ่ช | ๅฏพๅฟใใฌใผใ ใฏใผใฏ |
|---|---|
| JavaScript/TypeScript | JestใVitestใMocha |
| Python | pytestใunittest |
| Go | testing๏ผๆจๆบใฉใคใใฉใช๏ผ |
| Ruby | RSpecใMinitest |
| Java | JUnit 5ใTestNG |
| Rust | cargo test๏ผๆจๆบ๏ผ |
ๅบๆฌ็ใชใในใ็ๆใณใใณใ
JavaScript/TypeScriptใฎใในใ็ๆ
ๆใใทใณใใซใชไฝฟใๆนใฏใใใกใคใซใๆๅฎใใฆใใในใใ็ๆใใฆใใจๆ็คบใใใ ใใงใใ
# ็นๅฎใใกใคใซใฎใฆใใใใในใใ็ๆ
claude "src/utils/date.ts ใฎใฆใใใใในใใ็ๆใใฆ"
# ใในใใใกใคใซใฎๅบๅๅ
ใๆๅฎใใๅ ดๅ
claude "src/utils/date.ts ใฎJestใในใใ src/utils/date.test.ts ใซ็ๆใใฆ"
# ็นๅฎใฎ้ขๆฐใ ใใในใใ่ฟฝๅ ใใใๅ ดๅ
claude "src/utils/date.ts ใฎ formatDate ้ขๆฐใฎใในใใ่ฟฝๅ ใใฆใๅข็ๅคใๅซใใฆ"
ใใจใใฐใไปฅไธใฎใใใชๆฅไปใฆใผใใฃใชใใฃ้ขๆฐใใใฃใๅ ดๅ๏ผ
// src/utils/date.ts
export function formatDate(date: Date, format: string): string {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return format
.replace('YYYY', String(year))
.replace('MM', month)
.replace('DD', day);
}
export function isWeekend(date: Date): boolean {
const day = date.getDay();
return day === 0 || day === 6;
}
Claude Codeใฏไปฅไธใฎใใใชใในใใ็ๆใใพใ๏ผ
// src/utils/date.test.ts๏ผClaude Codeใ็ๆใใใในใไพ๏ผ
import { formatDate, isWeekend } from './date';
describe('formatDate', () => {
it('YYYY-MM-DD ใใฉใผใใใใงๆฅไปใใใฉใผใใใใใ', () => {
const date = new Date(2026, 1, 26); // 2026-02-26
expect(formatDate(date, 'YYYY-MM-DD')).toBe('2026-02-26');
});
it('MM/DD/YYYY ใใฉใผใใใใงๆฅไปใใใฉใผใใใใใ', () => {
const date = new Date(2026, 0, 1); // 2026-01-01
expect(formatDate(date, 'MM/DD/YYYY')).toBe('01/01/2026');
});
it('1ๆกใฎๆใปๆฅใใผใญใใใฃใณใฐใใ', () => {
const date = new Date(2026, 2, 5); // 2026-03-05
expect(formatDate(date, 'YYYY/MM/DD')).toBe('2026/03/05');
});
it('ๆใฎๆ็ตๆฅใๆญฃใใใใฉใผใใใใใ', () => {
const date = new Date(2026, 11, 31); // 2026-12-31
expect(formatDate(date, 'YYYY-MM-DD')).toBe('2026-12-31');
});
});
describe('isWeekend', () => {
it('ๅๆๆฅใฏtrueใ่ฟใ', () => {
const saturday = new Date(2026, 1, 28); // 2026-02-28๏ผๅ๏ผ
expect(isWeekend(saturday)).toBe(true);
});
it('ๆฅๆๆฅใฏtrueใ่ฟใ', () => {
const sunday = new Date(2026, 2, 1); // 2026-03-01๏ผๆฅ๏ผ
expect(isWeekend(sunday)).toBe(true);
});
it('ๅนณๆฅใฏfalseใ่ฟใ', () => {
const monday = new Date(2026, 1, 23); // 2026-02-23๏ผๆ๏ผ
expect(isWeekend(monday)).toBe(false);
});
it('้ๆๆฅใฏfalseใ่ฟใ', () => {
const friday = new Date(2026, 1, 27); // 2026-02-27๏ผ้๏ผ
expect(isWeekend(friday)).toBe(false);
});
});
Pythonใฎใในใ็ๆ
# pytestใในใใๅ
จใกใฝใใใซ็ๆ
claude "payment_service.py ใฎpytestใในใใๅ
จใกใฝใใใซ็ๆใใฆ"
# ็นๅฎใฏใฉในใฎใในใใ็ๆ
claude "models/user.py ใฎ UserModel ใฏใฉในใฎใในใใ tests/test_user.py ใซ็ๆใใฆ"
# ใใฃใฏในใใฃใไฝฟใฃใใในใใ็ๆ
claude "payment_service.py ใฎใในใใpytestใใฃใฏในใใฃใๆดป็จใใฆ็ๆใใฆ"
# payment_service.py ใฎใในใ็ๆไพ
# claude "payment_service.py ใฎpytestใในใใ็ๆใใฆ" ๅฎ่กๅพ
import pytest
from unittest.mock import Mock, patch
from decimal import Decimal
from payment_service import PaymentService, PaymentError
class TestPaymentService:
@pytest.fixture
def payment_service(self):
return PaymentService(api_key="test_key")
@pytest.fixture
def mock_gateway(self):
return Mock()
def test_process_payment_success(self, payment_service, mock_gateway):
"""ๆญฃๅธธใชๆฏๆใๅฆ็ใๆๅใใใใจใ็ขบ่ช"""
mock_gateway.charge.return_value = {"status": "success", "id": "ch_123"}
payment_service.gateway = mock_gateway
result = payment_service.process_payment(
amount=Decimal("1000.00"),
currency="JPY",
card_token="tok_test"
)
assert result["status"] == "success"
mock_gateway.charge.assert_called_once()
def test_process_payment_insufficient_funds(self, payment_service, mock_gateway):
"""ๆฎ้ซไธ่ถณใฎๅ ดๅใซPaymentErrorใ็บ็ใใใใจใ็ขบ่ช"""
mock_gateway.charge.side_effect = Exception("insufficient_funds")
payment_service.gateway = mock_gateway
with pytest.raises(PaymentError, match="insufficient_funds"):
payment_service.process_payment(
amount=Decimal("999999.00"),
currency="JPY",
card_token="tok_test"
)
def test_process_payment_invalid_amount(self, payment_service):
"""็กๅนใช้้กใงValueErrorใ็บ็ใใใใจใ็ขบ่ช"""
with pytest.raises(ValueError):
payment_service.process_payment(
amount=Decimal("-100.00"),
currency="JPY",
card_token="tok_test"
)
Goใฎใในใ็ๆ
# Goๆจๆบtestingใใใฑใผใธใฎใในใใ็ๆ
claude "pkg/calculator/calculator.go ใฎใในใใ็ๆใใฆ"
# ใใผใใซ้งๅใในใใง็ๆ
claude "pkg/validator/validator.go ใฎใในใใใใผใใซ้งๅใในใในใฟใคใซใง็ๆใใฆ"
// Claude Codeใ็ๆใใGoใในใใฎไพ๏ผใใผใใซ้งๅใในใ๏ผ
func TestCalculate(t *testing.T) {
tests := []struct {
name string
a, b float64
op string
want float64
wantErr bool
}{
{"ๅ ็ฎ๏ผๆญฃๅธธใฑใผใน", 10, 5, "+", 15, false},
{"ๆธ็ฎ๏ผๆญฃๅธธใฑใผใน", 10, 5, "-", 5, false},
{"ไน็ฎ๏ผๆญฃๅธธใฑใผใน", 10, 5, "*", 50, false},
{"้ค็ฎ๏ผๆญฃๅธธใฑใผใน", 10, 5, "/", 2, false},
{"้ค็ฎ๏ผใผใญ้ค็ฎใจใฉใผ", 10, 0, "/", 0, true},
{"ไธๆใชๆผ็ฎๅญใจใฉใผ", 10, 5, "%", 0, true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := Calculate(tt.a, tt.b, tt.op)
if (err != nil) != tt.wantErr {
t.Errorf("Calculate() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got != tt.want {
t.Errorf("Calculate() = %v, want %v", got, tt.want)
}
})
}
}
ใซใใฌใใธใ็ขบ่ชใใฆไธ่ถณใในใใ่ฟฝๅ ใใใใญใปใน
ๆใๅน็็ใชใในใๆนๅๆนๆณใฏใใซใใฌใใธใฌใใผใใClaude Codeใซ่ชญใพใใฆๆ็คบใใใใฟใผใณใงใใ
Step 1: ใซใใฌใใธใฌใใผใใ็ๆใใ
# JavaScript/TypeScript๏ผJest๏ผ
npx jest --coverage --coverageReporters=text
# JavaScript/TypeScript๏ผVitest๏ผ
npx vitest run --coverage
# Python๏ผpytest-cov๏ผ
pytest --cov=src --cov-report=term-missing
# Go
go test ./... -coverprofile=coverage.out && go tool cover -func=coverage.out
Step 2: ใซใใฌใใธใฌใใผใใClaude Codeใซๆธกใ
# ใซใใฌใใธใฌใใผใใ็ขบ่ชใใฆไธ่ถณใในใใ่ฟฝๅ
claude "ใในใใซใใฌใใธใฌใใผใใ็ขบ่ชใใฆใใซใใฌใใธใไฝใ็ฎๆใฎใในใใ่ฟฝๅ ใใฆ"
# ็นๅฎใฎใซใใฌใใธ็ฎๆจใๆๅฎใใๅ ดๅ
claude "src/services/ ้
ไธใฎใซใใฌใใธใ80%ๆชๆบใฎใใกใคใซใๆขใใฆใไธ่ถณใใฆใใใในใใ่ฟฝๅ ใใฆ"
# ใฌใใผใใ็ดๆฅ่ฒผใไปใใฆๆ็คบใใๅ ดๅ
claude "ไปฅไธใฎใซใใฌใใธใฌใใผใใ่ฆใฆใใซใใฌใใธใไฝใ src/utils/validation.ts ใฎๆชใซใใผ่กใซใในใใ่ฟฝๅ ใใฆ๏ผ
[ใฌใใผใใฎๅ
ๅฎนใใใผในใ]"
Step 3: ๆฎต้็ใซใซใใฌใใธใๅไธใใใ
ไธๅบฆใซใในใฆใฎใในใใ็ๆใใใใจใใใจๅ่ณชใ่ฝใกใใใจใใใใพใใไปฅไธใฎใใใซๆฎต้็ใซ้ฒใใใฎใใณใใงใ๏ผ
# ใพใใใใใผใในใฎใในใใ็ๆ
claude "src/services/order.ts ใฎๆญฃๅธธ็ณปใในใใใในใฆ็ๆใใฆ"
# ๆฌกใซใจใฉใผใฑใผในใ่ฟฝๅ
claude "src/services/order.ts ใฎใจใฉใผใฑใผในใปไพๅคๅฆ็ใฎใในใใ่ฟฝๅ ใใฆ"
# ๆๅพใซๅข็ๅคใในใใ่ฟฝๅ
claude "src/services/order.ts ใฎๅข็ๅคใในใ๏ผ็ฉบๆๅญๅใnullใundefinedใๆๅคงๅคใปๆๅฐๅค๏ผใ่ฟฝๅ ใใฆ"
็พ็ถๆๆก
ใซใใฌใใธใฌใใผใใ็ๆใใฆใใใซใใใฏใ็นๅฎใใ
ๆญฃๅธธ็ณปใในใ่ฟฝๅ
ใใใใผใในใฎใในใใใๅงใใใClaude Codeใซใๆญฃๅธธ็ณปใในใใใในใฆ็ๆใใฆใใจๆ็คบ
็ฐๅธธ็ณปใในใ่ฟฝๅ
ใจใฉใผๅฆ็ใปไพๅคใใญใผใฎใในใใ่ฟฝๅ ใใใจใฉใผใฑใผในใฎใในใใ่ฟฝๅ ใใฆใใจๆ็คบ
ๅข็ๅคใในใ่ฟฝๅ
null/undefined/็ฉบๆๅญๅ/ๆๅคงๆๅฐๅคใชใฉใฎๅข็ๅคใในใใ่ฟฝๅ
CI/CDใซ็ตใฟ่พผใ
ใซใใฌใใธ้พๅคใใงใใฏใใใคใใฉใคใณใซ็ตใฟ่พผใใง็ถ็ถ็ใซ็ถญๆ
ใจใใธใฑใผในใปๅข็ๅคใในใใฎ็ๆ
้ๅธธใ้็บ่ ใใในใใๆธใใจๆญฃๅธธ็ณปใซๅใใใกใงใใClaude Codeใฏใณใผใใ้็่งฃๆใใฆใ่ฆ่ฝใจใใใกใชใจใใธใฑใผในใ่ชๅ็ใซ่ๆ ฎใใฆใใใพใใ
# ใจใใธใฑใผในใซ็นๅใใใในใใ็ๆ
claude "src/utils/validation.ts ใฎ validateEmail ้ขๆฐใฎใจใใธใฑใผในใในใใ็ๆใใฆใ
ๅฝ้ๅใใกใคใณใ็นๆฎๆๅญใๆฅต็ซฏใซ้ทใใขใใฌในใUnicodeๆๅญใๅซใ"
# ๅข็ๅคใในใใๆ็คบ็ใซๆๅฎ
claude "src/models/product.ts ใฎ price ใใฃใผใซใใฎๅข็ๅคใในใใ็ๆใใฆใ
0ๅใ่ฒ ใฎๅคใๆๅคงๆดๆฐๅคใๅฐๆฐ็นไปฅไธใฎๆฑใใnull/undefinedใๅซใ"
Claude Codeใ็ๆใใใจใใธใฑใผในใในใใฎไพ๏ผ
describe('validateEmail - ใจใใธใฑใผใน', () => {
// ๆๅนใชใฑใผใน
it('ๆจๆบ็ใชใกใผใซใขใใฌในใฏๆๅน', () => {
expect(validateEmail('[email protected]')).toBe(true);
});
it('ใตใใใกใคใณใๅซใใขใใฌในใฏๆๅน', () => {
expect(validateEmail('[email protected]')).toBe(true);
});
it('ใใฉใน่จๅทใๅซใใขใใฌในใฏๆๅน', () => {
expect(validateEmail('[email protected]')).toBe(true);
});
// ็กๅนใชใฑใผใน
it('@ใใชใใขใใฌในใฏ็กๅน', () => {
expect(validateEmail('userexample.com')).toBe(false);
});
it('ใใกใคใณใใชใใขใใฌในใฏ็กๅน', () => {
expect(validateEmail('user@')).toBe(false);
});
it('็ฉบๆๅญๅใฏ็กๅน', () => {
expect(validateEmail('')).toBe(false);
});
it('nullใฏfalseใ่ฟใ', () => {
expect(validateEmail(null as any)).toBe(false);
});
it('undefinedใฏfalseใ่ฟใ', () => {
expect(validateEmail(undefined as any)).toBe(false);
});
it('255ๆๅญใ่ถ
ใใใขใใฌในใฏ็กๅน', () => {
const longEmail = 'a'.repeat(250) + '@e.com';
expect(validateEmail(longEmail)).toBe(false);
});
it('ในใใผในใๅซใใขใใฌในใฏ็กๅน', () => {
expect(validateEmail('user @example.com')).toBe(false);
});
});
ใขใใฏใปในใฟใใฎ่ชๅ็ๆ
ๅค้จใตใผใในใใใผใฟใใผในใซไพๅญใใๅฆ็ใใในใใใ้ใใขใใฏใปในใฟใใฎไฝๆใๅฟ ่ฆใงใใClaude Codeใฏใณใผใใ่งฃๆใใฆ้ฉๅใชใขใใฏใ็ๆใใฆใใใพใใ
# ๅค้จAPIใธใฎไพๅญใใขใใฏๅใใใในใใ็ๆ
claude "src/services/notification.ts ใฎใในใใ็ๆใใฆใ
SendGridใธใฎAPIๅผใณๅบใใฏใขใใฏๅใใฆ"
# ใใผใฟใใผในไพๅญใฎใขใใฏใ็ๆ
claude "src/repositories/user.repository.ts ใฎใในใใ็ๆใใฆใ
Prismaใฎใฏใจใชใฏใในใฆใขใใฏๅใใฆใjest.mock()ใไฝฟใฃใฆ"
// Claude Codeใ็ๆใใใขใใฏใในใใฎไพ
import { jest } from '@jest/globals';
import { NotificationService } from './notification';
// SendGridใขใธใฅใผใซใใขใใฏๅ
jest.mock('@sendgrid/mail', () => ({
setApiKey: jest.fn(),
send: jest.fn(),
}));
import sgMail from '@sendgrid/mail';
describe('NotificationService', () => {
let service: NotificationService;
beforeEach(() => {
service = new NotificationService();
jest.clearAllMocks();
});
it('ใกใผใซ้ไฟกใๆๅใใ', async () => {
(sgMail.send as jest.Mock).mockResolvedValue([{ statusCode: 202 }]);
await service.sendWelcomeEmail('[email protected]', 'ใในใใฆใผใถใผ');
expect(sgMail.send).toHaveBeenCalledWith(
expect.objectContaining({
to: '[email protected]',
subject: expect.stringContaining('ใใใใ'),
})
);
});
it('APIๅคฑๆๆใซใจใฉใผใในใญใผใใ', async () => {
(sgMail.send as jest.Mock).mockRejectedValue(
new Error('API rate limit exceeded')
);
await expect(
service.sendWelcomeEmail('[email protected]', 'ใในใใฆใผใถใผ')
).rejects.toThrow('API rate limit exceeded');
});
});
CI/CDใใคใใฉใคใณใจใฎ้ฃๆบ
ใในใใ็ๆใใใใCI/CDใใคใใฉใคใณใซ็ตใฟ่พผใใงใซใใฌใใธใ็ถ็ถ็ใซ็ถญๆใใพใใใใ
# GitHub ActionsใฎใฏใผใฏใใญใผใใกใคใซใClaude Codeใง็ๆ
claude ".github/workflows/test.yml ใไฝๆใใฆใ
Node.js 20ใงJestใๅฎ่กใใใซใใฌใใธใ80%ๆชๆบใฎๅ ดๅใฏCIใๅคฑๆใใใ่จญๅฎใง"
Claude Codeใ็ๆใใGitHub Actionsใฎไพ๏ผ
# .github/workflows/test.yml
name: Test
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests with coverage
run: npx jest --coverage --coverageThreshold='{"global":{"branches":80,"functions":80,"lines":80,"statements":80}}'
- name: Upload coverage report
uses: actions/upload-artifact@v4
if: always()
with:
name: coverage-report
path: coverage/
ๆๅใใ80%ใ็ฎๆใใฎใฏ้ฃใใๅ ดๅใใใใพใใใพใ็พ็ถใฎใซใใฌใใธ+10%ใ็ฎๆจๅคใซ่จญๅฎใใๅพใ ใซๅผใไธใใฆใใๆนๆณใ็พๅฎ็ใงใใClaude Codeใซใ็พๅจใฎใซใใฌใใธใฏโโ%ใงใใใพใใใใ็ฎๆจๅคใจใใฆ่จญๅฎใใJestใฎ่จญๅฎใๆใใฆใใจ็ธ่ซใงใใพใใ
SES็พๅ ดใงใฎๆดป็จไพ
ใฑใผใน1: ๆขๅญใณใผใใธใฎใในใ่ฟฝๅ
SESๆกไปถใงใใใใใฎใใใใในใใไธๅใชใใณใผใใใผในใๅผใ็ถใใ ใใจใใใฑใผในใงใใ
# ใใฃใฌใฏใใชๅ
จไฝใฎใในใ็ถๆณใ็ขบ่ช
claude "src/services/ ใใฃใฌใฏใใชใฎใใกใคใซใ็ขบ่ชใใฆใใในใใใกใคใซใใชใใใฎใใชในใใขใใใใฆๅชๅ
ๅบฆ้ ใซไธฆในใฆ"
# ๅชๅ
ๅบฆใฎ้ซใใใกใคใซใใ้ ็ชใซใในใใ็ๆ
claude "src/services/order.service.ts ใฏใใธใในใญใธใใฏใฎๆ ธๅฟใชใฎใงใ
ใพใใใฎใใกใคใซใฎใในใใๅ
ๆฌ็ใซ็ๆใใฆใใขใใฏใๅซใใฆ"
- ๅค้จAPIใDBใซไพๅญใใใตใผใในๅฑคใใๅชๅ ็ใซใในใใ่ฟฝๅ ใใ
- ใใฐไฟฎๆญฃๆใฏๅฟ ใใใฎใใฐใๅ็พใใใในใใๅ ใซๆธใ๏ผใชใฐใฌใใทใงใณ้ฒๆญข๏ผ
- ๆฐๆฉ่ฝ่ฟฝๅ ๆใซClaude Codeใงใในใใ่ชๅ็ๆใใฆใใใฌใใฅใผใซๅบใ
- ้ฑ1ๅใซใใฌใใธใฌใใผใใ็ขบ่ชใใฆไฝใ็ฎๆใๆนๅใใ็ฟๆ ฃใใคใใ
ใฑใผใน2: ใฌใฌใทใผใณใผใใฎใชใใกใฏใฟใชใณใฐๆฏๆด
ใชใใกใฏใฟใชใณใฐๅใซใในใใ็จๆใใใใจใงใๅไฝไฟ่จผใใงใใพใใ
# ใชใใกใฏใฟใชใณใฐๅใซใในใใ็ๆ๏ผๅไฝไฟ่จผใจใใฆ๏ผ
claude "legacy/payment_processor.php ใฎ็พๅจใฎๅไฝใใในใฆใซใใผใใใในใใ็ๆใใฆใ
ใชใใกใฏใฟใชใณใฐใฎๅฎๅ
จ็ถฒใจใใฆไฝฟใใใใฎใงใ็พๅจใฎไปๆงใๆญฃ็ขบใซๅๆ ใใใในใใซใใฆ"
# ใชใใกใฏใฟใชใณใฐๅพใซๅทฎ็ฐใใชใใใจใ็ขบ่ช
claude "ใชใใกใฏใฟใชใณใฐๅพใฎใในใใๅฎ่กใใฆใๅคฑๆใใใในใใใใใฐๅๅ ใ่ชฟๆปใใฆไฟฎๆญฃๆกใๆ็คบใใฆ"
ใฌใฌใทใผใณใผใใฎใในใใClaude Codeใง็ๆใใ้ใใใฐใๅซใพใใฆใใใณใผใใใใฎใพใพใในใใใใจใใใฐใใในใใงไฟ่จผใใใ็ถๆ ใซใชใใใจใใใใพใใใในใ็ๆๅพใฏๅฟ ใไบบ้ใใฌใใฅใผใใฆใไปๆงใจใใฆๆญฃใใใใ็ขบ่ชใใฆใใ ใใใ
ใใใใๅคฑๆใใฟใผใณใจๅฏพๅฆๆณ
ๅคฑๆ1: ๆ็คบใๆผ ็ถใจใใใใฆใใ
# NG: ๆผ ็ถใจใใใใๆ็คบ
claude "ใในใใๆธใใฆ"
# OK: ๅ
ทไฝ็ใชใใกใคใซใจ่ฆไปถใๆๅฎใใ
claude "src/utils/price-calculator.ts ใฎ calculateDiscountedPrice ้ขๆฐใฎใในใใ็ๆใใฆใ
10%ๅฒๅผใๆๅคงๅฒๅผ50%ใฎๅถ้ใๅฒๅผ้ฉ็จๅๅพใฎไพกๆ ผๅข็ๅคใๅซใ"
ๅคฑๆ2: ็ๆใใใใในใใ็ขบ่ชใใใซไฝฟใ
Claude Codeใ็ๆใใใในใใฏๅฟ ใๅฎ่กใใฆ็ขบ่ชใใพใใ
# ใในใ็ๆๅพใใใซๅฎ่ก็ขบ่ช
claude "src/utils/date.ts ใฎใในใใ็ๆใใฆใ็ๆๅพใใใซ npx jest src/utils/date.test.ts ใๅฎ่กใใฆ็ตๆใ็ขบ่ชใใฆ"
ๅคฑๆ3: ใขใใฏใๅฎ่ฃ ใฎ่ฉณ็ดฐใซไพๅญใใใใ
# ใขใใฏใๅฃใใใใๅ ดๅใฎไฟฎๆญฃๆ็คบ
claude "็ๆใใใใในใใฎใขใใฏใๅ
้จๅฎ่ฃ
ใซไพๅญใใใใฆใใพใใ
ๅค้จใคใณใฟใผใใงใผในใฎใฟใใขใใฏๅใใใใใซไฟฎๆญฃใใฆ"
FAQ
ใพใจใ
Claude Codeใซใใๅไฝใในใ่ชๅ็ๆใฏใSESใจใณใธใใขใฎ็็ฃๆงใๅคงๅน ใซๅไธใใใพใใ้่ฆใชใใคใณใใใใใใใใพใใ
ๅบๆฌใณใใณใใใฟใผใณ
claude "[ใใกใคใซๅ] ใฎใฆใใใใในใใ็ๆใใฆ"โ ใทใณใใซใชไธ่จๆ็คบใง้ๅงclaude "ใในใใซใใฌใใธใฌใใผใใ็ขบ่ชใใฆใใซใใฌใใธใไฝใ็ฎๆใฎใในใใ่ฟฝๅ ใใฆ"โ ใคใณใฟใฉใฏใใฃใๆนๅclaude "[ใใกใคใซๅ] ใฎใจใใธใฑใผในใในใใ็ๆใใฆ"โ ๅข็ๅคใป็ฐๅธธ็ณปใในใ่ฟฝๅ
SES็พๅ ดใงใฎๆดป็จๆฆ็ฅ
- ๆๅใซใซใใฌใใธใฌใใผใใ็ๆใใฆ็พ็ถๆๆก
- ใใธใในใญใธใใฏไธญๅฟใฎใใกใคใซใใๅชๅ ็ใซใในใ่ฟฝๅ
- ใชใใกใฏใฟใชใณใฐๅใซๅฟ ใใในใใงๅไฝไฟ่จผ
- CI/CDใซใซใใฌใใธ้พๅคใใงใใฏใ็ตใฟ่พผใใง็ถญๆ
ๅ่ณชใไฟใคใใใฎใใคใณใ
- ็ๆใใใใในใใฏๅฟ ใๅฎ่กใใฆ็ขบ่ชใใ
- ใขใใฏใๅ ้จๅฎ่ฃ ใซไพๅญใใใใชใใใๆณจๆใใ
- ไบบ้ใฎใฌใใฅใผใงไปๆงใฎๆญฃ็ขบใใๆ ไฟใใ
ใในใใใชใใณใผใใใผในใๅผใ็ถใใ ใจใใใฌใฌใทใผใณใผใใใชใใกใฏใฟใชใณใฐใใใใจใใๆฐๆฉ่ฝใฎใซใใฌใใธใ็ด ๆฉใไธใใใใจใโโClaude Codeใฏใใฎใใใชๅ ด้ขใงๅผทๅใชๆญฆๅจใซใชใใพใใใพใใฏๅฐใใชใใกใคใซใใ่ฉฆใใฆใฟใฆใใ ใใใ
ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ