Supposons que j'implémente quelque chose de simple comme la recherche dans une liste / un tableau trié. La fonction (en c #) ressemblerait à:
static int FindIndex(int[] sortedList, int i);
Je pourrais implémenter et tester cela en termes de fonctionnalités, mais pour des raisons évidentes, je préférerais généralement une recherche binaire à une recherche linéaire ou quelque chose d'intentionnellement stupide.
Ma question est donc la suivante: faut-il tenter d'écrire des tests qui garantissent des performances en termes de complexité algorithmique et si oui, comment?
J'ai commencé à faire des arguments des deux côtés de la partie «devriez-vous» de cette question, mais j'aimerais voir ce que les gens disent sans mes arguments pour les inciter.
En termes de "comment", cela devient très intéressant :) Vous pouvez voir paramétrer l'opérateur de comparaison et avoir un test dont l'opérateur de comparaison compte les comparaisons ou quelque chose comme ça. Mais ce n'est pas parce que vous le pouvez que vous devriez ...
Quelqu'un d'autre a-t-il envisagé cela (probablement)? Merci.