- 変更後ステップ数は、新規+修正+流用ステップ数にはならないの?
-
システム設定を下記のようにすれば、新規+修正+流用=変更後ステップ数になります。
削除ステップを修正ステップ数として数えるをチェックしない
変更モジュール未変更箇所を流用ステップ数として数えるをチェックする
こうすると、修正ステップ数は、変更前から増加したステップ数となります。
また、流用ステップ数は、変更されたモジュールの流用ステップ数も含んだステップ数となります。
▲TOP
- モジュール比較がうまくいかないのですが。。。
-
関数名が同じでも、関数の型が異なる場合は、モジュール比較しません。
ただし、拡張子個別情報ファイルのヘッダ認識文字情報の「ヘッダ切出し方法」の数値を7にすることで、関数の型が違っていても比較対象にすることができます。
Delphiでは、同じモジュール名を切り出してしまい、比較対象の関連付けがうまくいかない場合があります。
implementation以降で、同じ名前のモジュールのプロトタイプ宣言とモジュールの実体があると、関連付けがうまくいきません。
▲TOP
- ステップ比較はモジュール毎にしかできないのですか?
-
「モジュール単位でステップ数をカウントする」のチェックをはずせば、ファイル単位で比較も行います。
アルゴリズムの関係上、モジュール毎に比較した場合とファイル毎に比較した場合とでは、
修正ステップ数、流用ステップ数が一致しないことがありますが、ご了承ください。
モジュール毎の比較のほうが、より正確になります。
▲TOP
- ステップ比較で修正ステップ数が実際より多くなることがあるのですが。。。
-
Ver.1.07以前では、変更後モジュールに追加した行と同じ内容の行が、変更前モジュールの最後のほうにあった場合、
変更していない行が追加行と判断されることで、修正ステップ数が実際より多くカウントされてしまいます。
変更後 |
変更前 |
AAA |
AAA |
FFF |
BBB |
BBB |
CCC |
CCC |
DDD |
DDD |
EEE |
EEE |
FFF |
FFF |
GGG |
GGG |
|
上記の場合、変更後の2行目(FFF)が変更前の6行目(FFF)と同じため、変更前の2行目(BBB)~5行目(EEE)が削除されて、
変更後の3行目(BBB)~7行目(FFF)が追加されたと判断するため、修正ステップ数は、5ステップと換算されます。
Ver.1.08βより、比較アルゴリズムを変更しました。
Ver.1.12では、アルゴリズムをさらに改良しています。
新しい比較アルゴリズムでは、上記の場合、2行目(FFF)のみ追加されたと判断するため、修正ステップ数は1ステップと換算されます。
▲TOP
- コメント行の比較はできないの?
-
Ver.1.50よりシステム設定のステップ算出にある「すべてのコメントをステップカウント対象にする」をチェックすることで、
拡張子によらず全ファイルについて、コメント行を実ステップとしてカウント、比較することができます。
拡張子別に、コメント行を実ステップとしてカウント、比較したい場合は、拡張子個別情報ファイルに、
[CMTCOUNT]
1
を指定してください。(Ver.1.11以降で有効)
▲TOP
- 新規に追加した行は、新規ステップ数として数えられないの?
-
すでにあるファイルやモジュールに、追加された行については、修正ステップ数としてカウントします。
新規ステップ数としてはカウントされません。
新規ステップ数は、新しく追加されたファイルやモジュールのステップ数となります。
モジュールを別ファイルに移動させても、モジュール追跡機能が働いてモジュール比較を行いますので、新規ステップ数としてカウントしません。
▲TOP
- 関数名を変更前と変更後で変更しても比較できますか?
-
比較対象決定時に文字列置換する機能を使うことで、関数名が変化した場合でも比較できます。
文字列置換データファイル(CSVファイル)には、以下のようにデータを定義します。
定義数に上限はありません。文字列にカンマは指定できません。
(例)
1,0,func01,func1,class TestInterface implements Interface1
2,1,int func2,int func02
(意味)
置換対象, 置換種別, 検索文字列, 置換文字列[, 置換対象クラス名]
置換対象 |
0:置換なし
1:変更後の文字列を置換
2:変更前の文字列を置換
|
置換種別 |
0:モジュール名に含まれている検索文字列すべて置換
1:モジュール名と検索文字列が一致したら置換
|
検索文字列 |
置き換え前の文字列(半角255文字まで)
|
置換文字列 |
置き換える文字列(半角255文字まで)
|
置換対象クラス名 |
文字列置換するクラス名(半角255文字まで)
この定義と一致したクラスのモジュール名だけを置換対象にします。
省略時は、クラスに関係なくモジュール名を置換します。
|
▲TOP
|