docs: remove CODING-CONVENTIONS.md (content merged into CLAUDE.md)
All coding conventions, TDD patterns, and development guidelines are now consolidated in CLAUDE.md
This commit is contained in:
@@ -1,103 +0,0 @@
|
|||||||
# Gravl Coding Conventions
|
|
||||||
|
|
||||||
## Utvecklingsmetodik
|
|
||||||
|
|
||||||
### Red/Green TDD (OBLIGATORISKT)
|
|
||||||
|
|
||||||
All ny kod måste följa TDD-cykeln:
|
|
||||||
|
|
||||||
```
|
|
||||||
🔴 RED → 🟢 GREEN → 🔄 REFACTOR
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 1. 🔴 RED - Skriv test först
|
|
||||||
```javascript
|
|
||||||
// test/feature.test.js
|
|
||||||
describe('Feature', () => {
|
|
||||||
it('should do expected behavior', async () => {
|
|
||||||
const result = await feature.doSomething();
|
|
||||||
expect(result).toBe(expected);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
**Kör testet - det MÅSTE faila!**
|
|
||||||
```bash
|
|
||||||
npm test -- --grep "Feature"
|
|
||||||
# ❌ FAIL (detta är rätt!)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2. 🟢 GREEN - Minimal implementation
|
|
||||||
Skriv bara tillräckligt med kod för att testet passerar:
|
|
||||||
```javascript
|
|
||||||
// src/feature.js
|
|
||||||
export function doSomething() {
|
|
||||||
return expected; // Minimal lösning
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**Kör testet igen:**
|
|
||||||
```bash
|
|
||||||
npm test -- --grep "Feature"
|
|
||||||
# ✅ PASS
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 3. 🔄 REFACTOR - Förbättra
|
|
||||||
Nu kan du:
|
|
||||||
- Refaktorera för clean code
|
|
||||||
- Extrahera funktioner
|
|
||||||
- Förbättra namngivning
|
|
||||||
- Ta bort duplicering
|
|
||||||
|
|
||||||
**Kör testerna kontinuerligt:**
|
|
||||||
```bash
|
|
||||||
npm test
|
|
||||||
# ✅ Alla test måste fortfarande passa
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Teststruktur
|
|
||||||
|
|
||||||
```
|
|
||||||
/workspace/gravl/
|
|
||||||
├── src/
|
|
||||||
│ └── components/
|
|
||||||
├── server/
|
|
||||||
│ └── routes/
|
|
||||||
└── test/
|
|
||||||
├── unit/ # Enhetstester
|
|
||||||
├── integration/ # API-tester
|
|
||||||
└── e2e/ # End-to-end
|
|
||||||
```
|
|
||||||
|
|
||||||
## Namnkonventioner
|
|
||||||
|
|
||||||
### Tester
|
|
||||||
- `[feature].test.js` - Unit tests
|
|
||||||
- `[feature].integration.test.js` - Integration tests
|
|
||||||
- Describe-block: Noun (vad testas)
|
|
||||||
- It-block: "should [verb] [expected outcome]"
|
|
||||||
|
|
||||||
### Commits
|
|
||||||
```
|
|
||||||
test: add failing test for [feature]
|
|
||||||
feat: implement [feature] to pass tests
|
|
||||||
refactor: clean up [feature] implementation
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Workflow för kodningsagenter
|
|
||||||
|
|
||||||
1. **Få uppgift** från Gravl PM
|
|
||||||
2. **Läs spec** i docs/current-task.md
|
|
||||||
3. **Skriv failing test** - visa PM
|
|
||||||
4. **Implementera** tills test passerar
|
|
||||||
5. **Refaktorera** om nödvändigt
|
|
||||||
6. **Commit** med rätt prefix
|
|
||||||
7. **Rapportera** till PM
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*Uppdaterad: 2026-02-28*
|
|
||||||
Reference in New Issue
Block a user