Jag skriver:
> Att författaren därtill inte verkar ha
> förstått till fullo vad DEFVAR faktiskt gör är skrämmande.
Lite fånigt exempel i det lilla, men tänk dig en medelstor till
brutal-stor kodbas (10-200 kodfiler, 50 KB-någon GB kod):
;;(defvar incr 0)
(defun make-incrementer (base &optional (incr 1))
(lambda () (incf base incr)))
(format t "Test result: ~a~%"
(let ((fun (make-incrementer 1)))
(loop for i from 1 to 10
collect (funcall fun))))
Tryck i en fil och kör. Tag sedan bort kommentaren innan defvar och
kör. Att glatt säga "det finns en kodkonvention, men jag tycker den är
ful, så jag ignorerar den" i ett introduktionsmaterial, där resultatet
av att INTE anamma konventionen är ypperst svårfunna buggar är, i min
mening, inte försvarbart.
//Ingvar
_______________________________________________
Lisp mailing list
[email protected]
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp