Использование неподписанных типов примитивов

Для конфигурации весны на основе java вы можете использовать следующие

Использование ResourceHandlerRegistry , в котором хранятся регистрации обработчиков ресурсов для обслуживания статических ресурсов.

Дополнительная информация @ WebMvcConfigurerAdapter , который определяет методы обратного вызова для настройки конфигурации Java для Spring MVC с помощью @EnableWebMvc.

@EnableWebMvc
@Configurable
@ComponentScan("package.to.scan")
public class WebConfigurer extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static_resource_path/*.jpg").addResourceLocations("server_destination_path");

    }

7
задан Termininja 20 December 2015 в 22:10
поделиться

6 ответов

“Когда в Риме, сделайте, как римляне делают”.

В то время как существует теоретически преимущество в использовании неподписанных значений, где применимый, потому что оно делает код более выразительным, это просто не сделано в C#. Я не уверен, почему разработчики первоначально не разработали интерфейсы для обработки uints и сделайте тип CLS-совместимым, но теперь поезд оставил станцию.

Так как непротиворечивость обычно важна, я советовал бы брать трассу C# и использовать ints.

5
ответ дан 6 December 2019 в 10:05
поделиться

При постепенном уменьшении числа со знаком со значением 0 это становится отрицательным, и можно легко протестировать на это. При постепенном уменьшении неподписанного числа со значением 0 оно теряет значимость и становится максимальным значением для типа - несколько более трудный проверить на.

5
ответ дан 6 December 2019 в 10:05
поделиться

Ваша вторая точка является самой важной. Обычно необходимо просто использовать int так как это - довольно хорошее "вместилище" для целочисленных значений. Я только использовал бы uint если Вам абсолютно нужна способность рассчитать выше, чем int, но не используя дополнительную память long требует (это не намного больше памяти, не будьте дешевыми :-p).

5
ответ дан 6 December 2019 в 10:05
поделиться

Я думаю, что тонкое использование uint по сравнению с интервалом вызовет сбивающий с толку с разработчиками, если это не было записано в инструкции разработчика для компании.

Если длина, например, не может быть меньше, чем нуль затем, это должно быть выражено ясно в бизнес-логике, таким образом, будущие разработчики могут прочитать код и знать истинное намерение.

Просто мои 2 цента.

2
ответ дан 6 December 2019 в 10:05
поделиться

Я укажу, что в C# можно включить /checked проверять на арифметическое переполнение / потеря значимости, которая не является плохой идеей так или иначе. Если производительность имеет значение в критическом разделе, можно все еще использовать unchecked избегать этого.

Для внутреннего кода (т.е. кода, на который не сошлются ни в каком interop поместье с другими языками) я голосую за использование неподписанного, когда ситуация гарантирует его, такой как length переменные, как отмечалось ранее. Это - наряду с проверенной арифметикой - предоставляет еще одну сеть разработчикам, ловя тонкие ошибки ранее.

Другая точка в со знаком по сравнению с неподписанными дебатами - то, что некоторые программисты используют значения такой в качестве-1 для указания на ошибки, когда у них иначе не было бы значения. Я подписываюсь на представление, что каждая переменная должна иметь только одну цель, но если Вам - или коллеги, которых Вы кодируете с - нравится указывать, что ошибки таким образом, оставляя переменные подписанными дают Вам гибкость для добавления состояний ошибки позже.

2
ответ дан 6 December 2019 в 10:05
поделиться

Ваши две стороны являются положительными. Основная причина для предотвращения его бросает, все же. Кастинг делает их невероятно раздражающими для использования. Я пытался использовать unisigned переменные однажды, но я должен был опрыснуть броски абсолютно везде потому что методы платформы все целые числа со знаком использования. Поэтому каждый раз, когда Вы называете метод платформы, необходимо бросить.

0
ответ дан 6 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: