Должны ли мы использовать заглавную букву «i», когда мы используем «iOS» в качестве слова в имени класса? - PullRequest
0 голосов
/ 01 февраля 2019

Некоторые бренды на самом деле не любят использовать свою первую букву, и изменение может сделать ее совершенно другой, особенно для «iOS».Это больше похоже на «mCore», «macOS» и так далее.Когда речь идет об именах классов, я должен использовать заглавную букву или оставить ее оригинальной?

например, "iOSCompatProxy" против "IOSCompatProxy"

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Не существует общепринятого соглашения для этого типа имени класса.Даже обычное сокращение в верхнем регистре, такое как «XML», вызывает несогласованность;просматривая официальный список классов JDK , я вижу столько классов с именем XMLSomething, сколько XmlSomething.

Google рассматривает эту тему в Руководстве по стилю Google Java где они дают схему для преобразования текста в имена классов:

Иногда существует более одного разумного способа преобразовать английскую фразу в регистр верблюда, например, когда аббревиатуры или необычные конструкции, такие как "IPv6"или "iOS" присутствует.Чтобы улучшить предсказуемость, Google Style указывает следующую (почти) детерминистическую схему.

Начиная с прозаической формы имени:

  1. Преобразуйте фразу в обычный ASCII и удалителюбые апострофы.Например, «алгоритм Мюллера» может стать «алгоритмом Мюллера».

  2. Разделите этот результат на слова, разделив их пробелами и оставшимися пунктуацией (обычно дефисами).

    • Рекомендовано : если какое-либо слово уже имеет общепринятую форму обычного верблюжьего падежа, разделите его на составные части (например, «AdWords» становится «рекламными словами»).Обратите внимание, что такое слово, как «iOS», не совсем верблюжье per se ;он игнорирует любое соглашение, поэтому данная рекомендация не применяется.
  3. Теперь строчные буквы все (включая аббревиатуры), затем только прописные буквыпервый символ:

    • ... каждое слово, чтобы получить верхний регистр верблюда , или
    • ... каждое слово, кроме первого, чтобы привести нижний регистр верблюда
  4. Наконец, объедините все слова в один идентификатор.

Их схема выдает IosCompatProxy в качестве имени класса и iosCompatProxy в качестве имени переменной.Они преднамеренно игнорируют первоначальную капитализацию в пользу более основанной на правилах формы верблюжьего случая.

Возможно, это не самая красивая форма, на которую можно смотреть, но если вы ищете правило чтобы следовать, и у вас нет правила для этого, где вы работаете, руководство по стилю Google является таким же хорошим правилом, как вы получите, потому что оно конкретно упоминает «iOS».Я склонен высоко оценивать их соглашения из-за огромного количества Java, которое они поддерживают, используя их (300 миллионов строк по состоянию на 2018 [1] ).

0 голосов
/ 01 февраля 2019

Вообще говоря, в именах классов Java всегда первая буква и все последующие буквы, начинающиеся с нового слова, пишутся с большой буквы, например ThisIsAClass.Это должно отличать их от имен переменных и методов.Таким образом, я полагаю, что IOSCompatProxy будет правильным именем класса на основе моей интерпретации руководства по стилю Oracle, которое является общим руководством по стилю Java, которое можно увидеть здесь (я не верю, что какие-либо существенные изменения стиля были сделаны после того, как оно было в последний раз обновлено).):

Имена классов должны быть существительными, в смешанном регистре с заглавной первой буквой каждого внутреннего слова.Постарайтесь, чтобы названия ваших классов были простыми и наглядными.Используйте целые слова, избегайте сокращений и аббревиатур (если только аббревиатура не используется гораздо шире, чем длинная форма, такая как URL или HTML).

Более того, потому что iOS - это аббревиатура, которая гораздо ширеЯ бы сказал, что вместо «Интернет и операционная система» заглавная аббревиатура должна быть заглавной.Если у вас другая интерпретация, например та, которая соответствует написанному @Boann, используйте ее.

Однако я не рекомендую вам следовать руководству по стилю Google, если вы не работаете в Google (общие синтаксические правила, вероятно, в порядке, если GoogleРуководство по стилю основано на Oracle) только потому, что их стиль может отличаться от стиля, в котором вы работаете в будущем.Вместо этого я рекомендую следовать руководству по стилю Oracle, которое можно найти здесь: https://www.oracle.com/technetwork/java/codeconvtoc-136057.html

0 голосов
/ 01 февраля 2019

Лично у меня это будет iOSCompatProxy.Я думаю, что для каждого правила в этом мире есть исключения.:)

...