Я столкнулся с кучей кода в нескольких проектах С#, которые имеют следующие константы:
const int ZERO_RECORDS = 0;
const int FIRST_ROW = 0;
const int DEFAULT_INDEX = 0;
const int STRINGS_ARE_EQUAL = 0;
Кто-нибудь видел что-нибудь подобное? Есть ли способ рационализировать использование констант для представления языковых конструкций? IE: первый индекс С# в массиве находится в позиции 0. Я бы подумал, что если разработчик должен зависеть от константы, чтобы сказать им, что язык основан на 0, существует большая проблема.
Наиболее частое использование этих констант заключается в обработке таблиц данных или внутри циклов "for".
Неужели я считаю, что это запах кода? Я чувствую, что это не намного лучше, чем:
const int ZERO = 0;
const string A = "A";