On Mon, 2026-01-19 at 17:45 -0300, Wander Lairson Costa wrote: > Replace hardcoded string literal and magic number with a class > constant for the initial state marker in DOT file parsing. The > previous implementation used the magic string "__init_" directly > in the code along with a hardcoded length of 7 for substring > extraction, which made the code less maintainable and harder to > understand. > > This change introduces a class constant init_marker to serve as > a single source of truth for the initial state prefix. The code > now uses startswith() for clearer intent and calculates the > substring position dynamically using len(), eliminating the magic > number. If the marker value needs to change in the future, only > the constant definition requires updating rather than multiple > locations in the code. > > The refactoring improves code readability and maintainability > while preserving the exact same runtime behavior. >
Looks good, thanks. Reviewed-by: Gabriele Monaco <[email protected]> > Signed-off-by: Wander Lairson Costa <[email protected]> > --- > tools/verification/rvgen/rvgen/automata.py | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tools/verification/rvgen/rvgen/automata.py > b/tools/verification/rvgen/rvgen/automata.py > index b302af3e5133e..8548265955570 100644 > --- a/tools/verification/rvgen/rvgen/automata.py > +++ b/tools/verification/rvgen/rvgen/automata.py > @@ -25,6 +25,7 @@ class Automata: > """ > > invalid_state_str = "INVALID_STATE" > + init_marker = "__init_" > > def __init__(self, file_path, model_name=None): > self.__dot_path = file_path > @@ -96,8 +97,8 @@ class Automata: > > # "enabled_fired"}; -> enabled_fired > state = raw_state.replace('"', '').replace('};', '').replace(',', > '_') > - if state[0:7] == "__init_": > - initial_state = state[7:] > + if state.startswith(self.init_marker): > + initial_state = state[len(self.init_marker):] > else: > states.append(state) > if "doublecircle" in self.__dot_lines[cursor]:
