Должен ли часовой пояс быть константой или переменной?
Вопрос
У меня есть несколько мест в коде, где мне нужно использовать TimeZone. Я могу получить название часового пояса, используя DateTime :: TimeZone . Разумно ли указывать название часового пояса в константе? Или это должно быть в переменной?
Решение
Если значение может измениться, используйте переменную, если она гарантированно останется прежней, используйте константу. Р>
Для часового пояса вероятность того, что он изменится, невелика, но также не равна 0. Пользователь может изменить часовой пояс, и было бы неплохо, если бы программа вела себя соответствующим образом.
Другие советы
Я голосую за переменную. С вашим приложением могут работать разные пользователи в разных часовых поясах, даже если вы сомневаетесь, что это когда-нибудь произойдет. Это случилось со мной пару лет назад.
Посмотрите, откуда взялся часовой пояс. Это часовой пояс города? Сделайте это постоянным. Это часовой пояс пользователя? Сделайте его переменным - мы, пользователи, постоянно путешествуем, и мы сбрасываем часовой пояс на наших ноутбуках, чтобы планирование Outlook работало правильно на новом месте.