問題タブ [ekeko]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ソフトウェア変更契約の構造的規則性の検証
特定のソフトウェアの 2 つのバージョン間の構造的規則性 (構造的規則性はソース コードで従わなければならない規則) の変更を見つけ、最新バージョンが構造的規則性に違反しているかどうかを確認できるツールを作成するプロジェクトを行っています。古いバージョンの。
私はEKEKO
(Eclipseワークスペースに対するClojureライブラリメタプログラミング)と呼ばれるクエリ言語を使用しています。使用する述語を作成しました。また、2 つのバージョンの違いを見つけることができます。
しかし、私の問題は、たとえば、古いバージョンで呼び出されたすべてのメソッドtoString
に新しい名前を付ける必要があると言う方法を見つけることですprint
。したがって、この場合、新しいバージョンが構造上の契約 (命名規則について) を満たしているかどうかを確認する必要があります。
前のコードでは、プロジェクトの 2 つのバージョンの違いを取得できます。私がする必要があるのは、次のコードのようなものです。
projectResults は、指定されたプロジェクトに Ekeko 環境を適用し、指定された述語 (この場合は f1 と f2) の結果を見つけます。
しかしまた、異なるプロジェクトで同じクラスが同じであることを意味しないため、比較操作には注意が必要です。
先に進むのに役立つアイデアはありますか? 前もって感謝します!