Stałe nadużycie?

Uruchomiłem kilka kodu w kilku projektach C #, które mają następujące stałe:

    const int ZERO_RECORDS = 0;
    const int FIRST_ROW = 0;
    const int DEFAULT_INDEX = 0;
    const int STRINGS_ARE_EQUAL = 0;

Czy ktoś kiedykolwiek widział coś takiego? Czy istnieje sposób na racjonalizację przy użyciu stałych do reprezentowania konstrukcji językowych? IE: Pierwszy indeks C # w tablicy znajduje się na pozycji 0. Wydaje mi się, że jeśli programista musi polegać na stałej, aby powiedzieć mu, że język jest oparty na 0, pojawia się większy problem.

Najczęstszym zastosowaniem tych stałych jest obsługa tabel danych lub pętli „for”.

Czy jestem nie na miejscu, myśląc, że to zapach kodu? Czuję, że nie są one o wiele lepsze niż:

const int ZERO = 0;
const string A = "A";

questionAnswers(17)

yourAnswerToTheQuestion