skills bijgewerkt
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#lang racket/base
|
||||||
|
|
||||||
|
(require racket-makefile)
|
||||||
|
|
||||||
|
(makefile 'skill
|
||||||
|
(target 'all
|
||||||
|
(displayln "Use (make 'install)"))
|
||||||
|
|
||||||
|
(target 'install
|
||||||
|
(let ((home (getenv "HOME")))
|
||||||
|
(when (eq? home #f)
|
||||||
|
(error "No $HOME environment variable, cannot find place of .codex"))
|
||||||
|
(let* ((pwd (current-directory))
|
||||||
|
(skilld (build-path home ".codex" "skills"))
|
||||||
|
(racket-skilld (build-path skilld "racket-skill"))
|
||||||
|
(js-skilld (build-path skilld "javascript-skill"))
|
||||||
|
(cp (lambda (to-dir file)
|
||||||
|
(let ((from (build-path pwd file))
|
||||||
|
(to (build-path to-dir "SKILL.md")))
|
||||||
|
(unless (directory-exists? to-dir)
|
||||||
|
(make-directory to-dir))
|
||||||
|
(displayln (format "cp ~a -> ~a" from to))
|
||||||
|
(copy-file from to #:exists-ok? #t))))
|
||||||
|
)
|
||||||
|
(cp racket-skilld "racket-skill.md")
|
||||||
|
(cp js-skilld "javascript-skill.md")
|
||||||
|
)))
|
||||||
|
)
|
||||||
|
|
||||||
+3
-8
@@ -1,11 +1,6 @@
|
|||||||
# ---
|
---
|
||||||
name: javascript-programmeer-skill
|
name: javascript-programmeer-skill
|
||||||
description: Hiermee wordt mijn voorkeur javascript programmeerstijl aangegeven.
|
description: Gebruik deze skill wanneer je Javascript-code voor Hans schrijft, wijzigt, refactort of beoordeelt. Pas de bestaande, eenvoudige en object georiënteerde programmeerstijl toe; voorkom over-engineering en onnodige abstracties. Gebruik deze skill niet voor algemene uitleg over javascript waarbij geen code voor zijn projecten wordt gemaakt of aangepast.
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
name: javascript-programmeerstijl
|
|
||||||
description: Gebruik deze skill wanneer je Javascript-code voor Hans schrijft, wijzigt, refactort of beoordeelt. Pas de bestaande, eenvoudige en object georiënteerde programmeerstijl toe; voorkom over-engineering en onnodige abstracties. Gebruik deze skill niet voor algemene uitleg over Racket waarbij geen code voor zijn projecten wordt gemaakt of aangepast.
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# javascript-programmeerstijl
|
# javascript-programmeerstijl
|
||||||
@@ -14,7 +9,7 @@ Gebruik deze stijl wanneer je Javascript-code voor Hans schrijft of aanpast.
|
|||||||
|
|
||||||
## Uitgangspunt
|
## Uitgangspunt
|
||||||
|
|
||||||
Schrijf code zoveel mogelijk in lijn met zoals Hans racket code schrijft. Zie daarvoor de racket skill.
|
Schrijf code zoveel mogelijk in lijn met hoe Hans racket code schrijft. Zie daarvoor de racket skill.
|
||||||
|
|
||||||
Gebruik bij javascript als je een closure definitie maakt, bij voorkeur classes, m.a.w. ga voor OO en class definities in plaats van property gestuurde closures.
|
Gebruik bij javascript als je een closure definitie maakt, bij voorkeur classes, m.a.w. ga voor OO en class definities in plaats van property gestuurde closures.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
racket -e "(enter! \"Makefile.md\") (make 'install)"
|
||||||
+17
-7
@@ -1,8 +1,3 @@
|
|||||||
---
|
|
||||||
name: racket-programmeer-skill
|
|
||||||
description: Hiermee wordt mijn voorkeur racket programmeerstijl aangegeven.
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
---
|
||||||
name: racket-programmeerstijl
|
name: racket-programmeerstijl
|
||||||
description: Gebruik deze skill wanneer je Racket-code voor Hans schrijft, wijzigt, refactort of beoordeelt. Pas de bestaande, eenvoudige en procedurele programmeerstijl toe; voorkom over-engineering en onnodige abstracties. Gebruik deze skill niet voor algemene uitleg over Racket waarbij geen code voor zijn projecten wordt gemaakt of aangepast.
|
description: Gebruik deze skill wanneer je Racket-code voor Hans schrijft, wijzigt, refactort of beoordeelt. Pas de bestaande, eenvoudige en procedurele programmeerstijl toe; voorkom over-engineering en onnodige abstracties. Gebruik deze skill niet voor algemene uitleg over Racket waarbij geen code voor zijn projecten wordt gemaakt of aangepast.
|
||||||
@@ -97,8 +92,8 @@ Verzamel dan de lijst en vraag of je ze moet toevoegen.
|
|||||||
(cond
|
(cond
|
||||||
([condition] korte body)
|
([condition] korte body)
|
||||||
([other-condition]
|
([other-condition]
|
||||||
langere body))
|
langere body)
|
||||||
(else ... alleen als het nodig is)
|
(else ... alleen als het nodig is))
|
||||||
```
|
```
|
||||||
|
|
||||||
## Mate van abstractie vs leesbaarheid
|
## Mate van abstractie vs leesbaarheid
|
||||||
@@ -122,6 +117,13 @@ Geef de voorkeur aan λ boven lambda.
|
|||||||
- Houd state eenvoudig. Een gewone modulevariabele zoals `cached-git-exe` is prima wanneer daarvoor geen zwaarder mechanisme nodig is.
|
- Houd state eenvoudig. Een gewone modulevariabele zoals `cached-git-exe` is prima wanneer daarvoor geen zwaarder mechanisme nodig is.
|
||||||
- Gebruik geen parameters, structs, classes of objectlagen wanneer een gewone variabele of procedure voldoende is.
|
- Gebruik geen parameters, structs, classes of objectlagen wanneer een gewone variabele of procedure voldoende is.
|
||||||
|
|
||||||
|
## Condities
|
||||||
|
|
||||||
|
- `and` en `or` mogen een willekeurig aantal subexpressies bevatten, zolang
|
||||||
|
iedere subexpressie eenvoudig en direct leesbaar is.
|
||||||
|
- Als een subexpressie te ingewikkeld wordt, bereken die dan eerst en geef
|
||||||
|
het resultaat een duidelijke naam met `let` of `let*`.
|
||||||
|
|
||||||
## Publieke API
|
## Publieke API
|
||||||
|
|
||||||
- Gebruik `define/contract` voor publieke procedures wanneer een contract nuttige documentatie en controle geeft.
|
- Gebruik `define/contract` voor publieke procedures wanneer een contract nuttige documentatie en controle geeft.
|
||||||
@@ -205,6 +207,14 @@ Een test die alleen werkt vanuit de development directory, op het development-OS
|
|||||||
|
|
||||||
## Racket Package Index / build-service tests
|
## Racket Package Index / build-service tests
|
||||||
|
|
||||||
|
Als je tests toevoegt aan een racket module, zet daar dan altijd
|
||||||
|
|
||||||
|
```racket
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; Tests for module <modulenaam> voor.
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
```
|
||||||
|
|
||||||
Behandel de Racket Package Index/build service als een aparte, strikte
|
Behandel de Racket Package Index/build service als een aparte, strikte
|
||||||
en onbekende testomgeving.
|
en onbekende testomgeving.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user