Renommer les modes de DP pour être plus systématique et précis
Soit on garde les appellations « Global » / …, en spécifiant Left/Right dès que nécessaire (Local LeftGlobal-RightSemiGlobal), Soit on est plus explicite (et ce n'est pas que du bikeshedding, mais aussi une manière de dev-refactor le code pour que ce soit plus clair) :
- Global:
startX = Complete, endX = Complete, startY = Complete, endY = Complete
- Local:
startX = Partial, endX = Partial, startY = Partial, endY = Partial
- SemiGlobal:
startX = Complete, endX = Complete, startY = Partial, endY = Partial
- (actuellement LocalEndWithSomeDeletions) LeftLocal-RightGlobalEndWithSomeDeletions:
startX = Partial, endX = Partial, startY = Partial, endY = CompleteWithSomeDeletions
- et #3318:
startX = Complete, endX = Partial, startY = Partial, endY = CompleteWithSomeDeletions
(on pourrait trouver un nom plus sémantique, du genreReadAgainstGermline
)
Bref {start, end}{X,Y} = (Complete / CompleteWithDeletionsEnd / Partial)
qui permettrait de faire n’importe quel alignement sur ces 3^4 modes.
En l’écrivant, je me dis que c’est la bonne solution : avoir ce qu’il faut de générique, ce qui aidera aussi à la lisibilité de dynprog.cpp
, quitte à maintenir les alias Global
/ Local
/ SemiGlobal
(et ReadAgainstGermline
) pour les situations les plus courantes.