kusumotolab / kGenProg

A High-performance, High-extensibility and High-portability APR System
MIT License
48 stars 13 forks source link

解パッチがファイル出力offでログにも表示されなくなる & ファイル出力オプションの挙動が不自然 #801

Closed ty-v1 closed 3 years ago

ty-v1 commented 3 years ago

noNeedOutputfalseに設定すると,修正パッチをファイルにも標準出力にも出力しない.

https://github.com/kusumotolab/kGenProg/blob/master/src/main/java/jp/kusumotolab/kgenprog/output/Exporters.java#L28-L36

shinsuke-mat commented 3 years ago

現状はこう. noNeedOutput = 1 でコンソールにすらパッチが出力されなくなる.

noNeedOutput historyRecord where to output?
0 0 consl+patch
1 0
0 1 consl+patch+json
1 1 json

コンソール出力は常に必要なはず. こうあるべき.

noNeedOutput historyRecord where to output?
0 0 consl+patch
1 0 consl
0 1 consl+patch+json
1 1 consl+json

noNeedOutput と historyRecord は前者のみが非定型なので解釈しにくい. より改善するとこう.両方非定型にする.

noPatchOutput noHistoryRecord where to output?
0 0 consl+patch+json
1 0 consl+json
0 1 consl+patch
1 1 consl

デフォルトは noPatchOutput = 1, noHistoryRecord = 1 でよさそう

shinsuke-mat commented 3 years ago

両方肯定系の方がより自然か. コードも読みやすいし.

patchOutput historyRecord where to output?
0 0 consl
1 0 consl+patch
0 1 consl+json
1 1 consl+patch+json

デフォルトは同様に patchOutput = 0, historyRecord = 0

RyokoIzuta commented 3 years ago

patchOutputがfileの出力を管理していて,historyRecordがjsonの管理をしているのであっていますか? 両方否定形にする前後でwhere to output内の内容が入れ替わっているので

shinsuke-mat commented 3 years ago

patchOutputがfileの出力を管理していて,historyRecordがjsonの管理をしているのであっていますか?

厳密には

内容が入れ替わっているので

just a typo 直しといた