2

今日、ソース コードの一貫性をチェックするツールについて不思議に思うバグがありました。まず、バグ:

jQuery セレクターは期待して.attached_reportsいましたが、HTML テンプレートは class で div を作成していましたattached-reports。何が起こったのかというと、私たちの熱心なテーマ担当者が、アンダースコアの代わりにハイフンを使用するようにすべてのクラス名を標準化することを決定したため、コードが壊れてしまいました.

質問: ソース コードを解析し、各出現箇所を関連付けるツールまたは方法論はありますかattached-reports。次に、シンボルの 1 つが変更された場合 (バージョン管理のコミット時など)、チームに変更を警告できますか?

4

1 に答える 1

2

必要なのは、実行時に発生する可能性のあるエラーを静的にチェックできる言語間一貫性チェッカーです。

これを行うには、問題のすべての言語を処理できるツールが必要です (2 つある: HTML テンプレートへの特別な参照を含む Javascript? [Jquery 用]、および HTML テンプレート言語 (正確には HTML ではない)。ツールにはJavaScript コードが名前を使用してテンプレートを参照すること (おそらくこれは単なる文字列です。テンプレート名が難解なプロセスによって計算されたものではないことをどのように知ることができますか?)、および HTML テンプレート エントリが参照されること (参照されていないテンプレートスロット、それでよろしいですか?)

世界は面白い小さな言語とそれらの間の面白い制約でいっぱいです (そして、人々がますます多くの DSL と統合ルールを発明するにつれて、それは悪化しています)。すべての組み合わせに対応する既製のツールを見つけることはまずありません。

当社のDMS Software Reengineering Toolkitは、新しい言語の記述や方言のバリエーション (HTML テンプレートのバリアントを定義できるようにするため) とカスタム アナライザー (違反を検出できるようにするため) を簡単に受け入れるように設計されています。[DMS には、 JavaScript用のものを含む、従来型および型破りな言語フロント エンドの安定版が既にあります。DMS はいくつかの次元でスケーラブルです。1つは同時に処理できる言語の数です...あなたの場合のように「2」などです。

DMS を使用すると、カスタム アナライザーまたはトランスフォーマーをコーディングできます。もちろん、どのような分析が実装されていても、計算可能性の制約を受けます。テンプレート名が難解な JavaScript コードによって計算された場合、その計算された名前がテンプレート内の何かと一致するかどうかをツールが判断できる可能性は低いです。

于 2012-06-08T23:10:29.613 に答える