Le changement de TF est un problème - page 8

 

En résumé, la conclusion est la suivante.

Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...

nous réinitialisons tous les tampons en une fois ou élément par élément.

Ce n'est pas bien. Peut-être que les développeurs réinitialiseront tout de même s'il y a une condition ?

 
Vasyl Nosal:

En résumé, la conclusion est la suivante.

Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...

nous réinitialisons tous les tampons en une fois ou élément par élément.

Ce n'est pas bien. Peut-être que les développeurs réinitialiseront tout de même s'il y a une condition ?

Vingt-cinq ans à nouveau :) . Dans ce cas, pourquoi avez-vous besoin de votre tête ? Il est impossible de prévoir toutes les variantes de réaction aux événements. Le choix de la variante repose sur les épaules du programmeur (bien qu'il n'y ait rien à faire ici, deux lignes : vérifier pour ==0 et réagir).
 
Vasyl Nosal:

En résumé, la conclusion est la suivante.

Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...

nous réinitialisons tous les tampons en une fois ou élément par élément.

Ce n'est pas bien. Peut-être que les développeurs réinitialiseront eux-mêmes les tampons s'il y a une condition ?

Encore ? ! © :D Et ceci après toutes les explications avec des exemples comment écrire correctement les indicateurs ? )))

 
Sergei Vladimirov:

Quoi, encore ? !! © :D Et ceci après toutes les explications avec des exemples sur la façon d'écrire correctement les indicateurs ? )))

Donc, dans ma version et dans la vôtre, il y a remise à zéro, non ?
 
Vasyl Nosal:
Donc, dans ma variante et dans la vôtre, il y a une mise à zéro, non ?

Dans ma version, chaque barre est calculée. Si la valeur du tampon sur une telle barre est égale à zéro, elle devient zéro, si elle est égale à 5, elle devient 5. Dans votre cas, vous pouvez simplement annuler les tampons par ArrayInitialize() et ensuite ne pas calculer les barres où la valeur des tampons doit rester nulle. Mais d'abord, c'est un mauvais style de programmation (très mauvais !), et ensuite, c'est un cas particulier.

Toutes les barres doivent être calculées explicitement. Ce n'est que de cette façon que vous pouvez être sûr qu'il n'y aura pas de "déchets", de données non calculées, etc. dans une cellule, et que vous n'aurez pas à corriger les bugs (ce que vous avez fait dans ce fil).

Et vous n'avez pas non plus besoin de suivre les mises à jour de l'historique, c'est inutile. Il suffit de commencer le calcul à partir de la barre [rates_total - MathMax(prev_calculated, 1)], et tout sera toujours garanti d'être calculé et recalculé, si nécessaire.

 
Sergei Vladimirov:

Dans ma version, chaque barre est calculée. Si la valeur du tampon sur une telle barre est égale à zéro, elle devient zéro, si elle est égale à 5, elle devient 5. Dans votre cas, vous pouvez simplement annuler les tampons par ArrayInitialize() et ensuite ne pas calculer les barres où la valeur des tampons doit rester nulle. Mais d'abord, c'est un mauvais style de programmation (très mauvais !), et ensuite, c'est un cas particulier.

Toutes les barres doivent être calculées explicitement. Ce n'est que de cette façon que vous pouvez être sûr qu'il n'y aura pas de "déchets", de données non calculées, etc. dans une cellule, et que vous n'aurez pas à corriger les bugs (ce que vous avez fait dans ce fil).

Et vous n'avez pas besoin de suivre les mises à jour de l'historique, c'est inutile. Il suffit de commencer le calcul avec la barre [rates_total - MathMax(prev_calculated, 1)], et tout sera toujours garanti d'être calculé et recalculé si nécessaire.

Aïe. Ok.

Les développeurs n'implémenteront rien de toute façon.

Merci à tous.