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
|
||||
description: Hiermee wordt mijn voorkeur javascript programmeerstijl aangegeven.
|
||||
---
|
||||
|
||||
---
|
||||
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.
|
||||
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.
|
||||
---
|
||||
|
||||
# javascript-programmeerstijl
|
||||
@@ -14,7 +9,7 @@ Gebruik deze stijl wanneer je Javascript-code voor Hans schrijft of aanpast.
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
@@ -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
|
||||
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
|
||||
([condition] korte body)
|
||||
([other-condition]
|
||||
langere body))
|
||||
(else ... alleen als het nodig is)
|
||||
langere body)
|
||||
(else ... alleen als het nodig is))
|
||||
```
|
||||
|
||||
## 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.
|
||||
- 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
|
||||
|
||||
- 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
|
||||
|
||||
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
|
||||
en onbekende testomgeving.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user