Abbiamo uno stack di chiamate nel nostro progetto. Il programma è scritto per microcontrollore, il linguaggio è C. Lo stack di chiamata è fondamentalmente un array di numeri interi. La variabile che rappresenta questo stack di chiamate termina con la stringa _stack
.
Stavo rivedendo l'implementazione. La funzione è il ripristino del ripristino, non lo stack delle chiamate, ma lo stack delle chiamate fa parte della funzionalità. Quando ho visto per la prima volta la variabile, ho pensato che fosse usata come una pila. Quindi ho assunto il seguente:
- Non è possibile accedere a nessuna voce diversa dall'ultima voce.
- Ci saranno operazioni PUSH / POP / CLEAR / TOP.
Successivamente, ho trovato che la prima voce (indice 0) è sempre selezionata in una condizione speciale. Ho anche trovato una funzione in cui tutti gli elementi dell'array vengono letti in sequenza dall'indice 0 all'inizio. Entrambi sono operazioni di stack non valide.
Penso che il nome della variabile non debba contenere la stringa stack
in quanto non è uno stack, ma è usato come lista. Ma il programmatore sta mostrando una logica valida, che secondo il significato semantico, è uno stack e in effetti ci sono le operazioni PUSH.
La variabile deve essere denominata con *stack*
?