Использование подмодулей для семантической организации.Используйте комментарии для визуальной организации.
Подмодули полезны, когда код должен выполняться только в определенных режимах (например, test
подмодули для тестирования, main
подмодули для программ / команд и т. Д.).Они также полезны, когда вам нужна одна и та же вспомогательная функция как во время компиляции (в макропреобразователе), так и во время выполнения;Вы можете определить его один раз в подмодуле и требовать подмодуля на нескольких этапах.
Но в противном случае просто используйте комментарии и пробелы.В настоящее время я предпочитаю разделять основные разделы со строками из 60 знаков равенства (двойная линия) и второстепенные подразделы со строками из 40 дефисов.Иногда я помещаю заголовок раздела под чертой (если я могу придумать краткую метку).
Совет: в Emacs и DrRacket вы можете вставить 60 знаков равенства, нажав Escape
6
0
=
.Аналогично для вставки n копий любого другого символа.
Пример:
;; ============================================================
;; Data definitions
;; A Vertex is a Symbol.
;; A Graph is (graph (hashof Vertex (Listof Vertex))).
(struct graph (out-edges))
;; ============================================================
;; Graph algorithms
;; ----------------------------------------
;; Paths
;; find-path : Graph Vertex Vertex -> (U #f (Listof Vertex))
(define (find-path g from to) ....)
;; ----------------------------------------
;; Strongly-connected components (SCCs)
;; vertex->scc : Graph Vertex -> (Listof Vertex)
(define (vertex->scc g vertex) ....)
;; ============================================================
;; External forms
;; read-graph : InputPort -> Graph
(define (read-graph in) ....)
;; write-graph : Graph OutputPort -> Void
(define (write-graph g out) ....)