13

一般的な Clojure プログラミング エラーの 1 つの例は、遅延式が副作用のために評価されることを予期することです。表面的には、未使用の遅延式をチェックすると役立つように見えます。この間違いやその他のよくある間違いを特定するための最善のアプローチは何でしょうか? コア コンパイラでこれらの状況をチェックする必要がありますか、それとも lint プログラムのドメインで検出する必要がありますか? 実装を開始するにはどのような方法がよいでしょうか?

4

2 に答える 2

4

どうですか:

  • メソッドのないマルチ:defaultメソッド
  • ドキュメント文字列がありません
  • 関数の引数が常に同じ型である場合、引数の型ヒントを提案する
  • 同一の無名関数の複数のコピーを指摘する
  • 末尾再帰の指摘と再構築の提案
  • 関数で十分なマクロの使用
  • 未使用の引数、特に& rest型引数
  • 関数が int や浮動小数点の代わりに BigNum を使用する場合

これらのチェックがどのように実装されるかはわかりませんが、多くの時間を自分から救ってくれることは間違いありません。

于 2009-12-22T00:43:41.400 に答える
1

作業を開始するためのいくつかのアイデア。決して実現できない遅延コードを検出したり、リフレクションが使用される領域を指摘したりできます。一般的に、clojure は、よくある一連の証明可能な間違いを表現するための言語としては少し若いのではありませんか?

于 2009-12-21T07:28:52.497 に答える