我开始研究Edi的CL-时尚来学习一些好的编码实践。当我看着cl-fad.asd的时候,有一件事引起了我的注意。在defsystem中,Weitz使用:serial t,如果我基于文档正确理解,它指示ASDF按照外观顺序包含:components。在我看来,在这种情况下,这应该会使:depends-on变得多余。为什么韦茨会加入:depends-on,或者这只是一个疏忽呢?
下面是defsystem部分(最新的Github克隆):
(asdf:defsystem #:cl-fad
:version "0.7.2"
:description "Portable pathname library"
:serial t
:components ((:file "packages")
#+:cormanlisp (:file "corman")
#+:openmcl (:file "openmcl")
(:file "fad")
(:file "path" :depends-on ("fad"))
(:file "temporary-files" :depends-on ("fad")))
:depends-on (#+sbcl :sb-posix :bordeaux-threads :alexandria))
(asdf:defsystem #:cl-fad-test
:version "0.7.2"
:serial t
:components ((:file "packages.test")
(:file "fad.test" :depends-on ("packages.test"))
(:file "temporary-files.test" :depends-on ("packages.test")))
:depends-on (:cl-fad :unit-test :cl-ppcre))发布于 2014-04-09 02:32:10
同时执行串行和依赖的操作可能会产生冲突,也就是说,由on-依赖定义的无圈图将不兼容按组件序列给出的排序。我怀疑,但谁知道呢,如果真的检查的话。
当然,这是多余的。但是的,多余也不一定是坏事。除了串行之外,声明依赖项可能会为读者提供一些关于代码结构的信息。
开发人员可能偶尔会对序列进行注释,以获得由此带来的好处。
发布于 2014-04-05 04:37:47
朋友不让朋友使用cl-时尚。
cl-时尚是任何类型的“最佳实践”的错误地方。这是一个快速和肮脏的,不那么便携的便携层。
用UIOP代替。
https://stackoverflow.com/questions/22863066
复制相似问题