PostgreSQL データベースのメタデータをプローブするコードがあるため、コードがマジック ストリングで記述されていることがわかります。
(case data_type
"integer" ...
"smallint" ...
"bigint" ...
"boolean" ...
...
ここで、「integer」「smallint」などは、データベースのメタデータ テーブルのクエリから返される値です。
この投稿ではキーワードの使用を提案しているため、おそらくこれらの文字列をより適切に整理する方法は、そのような魔法の文字列のコレクションごとにエンコード/デコード関数のペアを定義することでしょうか?
例えば:
(defn datatypes-val->kwd [val] ;; return keyword from value
(defn datatypes-kwd->val [kwd] ;; return value from keyword
しかし、( Javaのenumのように)型の安全性が得られないので、本当に手間をかける価値があるのでしょうか?