Участник класса заказывает в исходном коде

System.out.println(0 + 'c'); //ASCII value of 'c'; will print 99
System.out.println(0 + 'a'); //ASCII value of 'a'; will print 97
System.out.println('c' - 'a'); //Difference of ASCII values of characters; will print 99-97=2

В вашем случае

inventory[ch - 'a']++;

ch будет неким персонажем.
ch - 'a' будет расстоянием этого символа от «а». Например, как показано выше, 'c' - 'a' = 2.
inventory[ch - 'a'] будет указывать на номер по индексу ch - 'a' в массиве.
inventory[ch - 'a']++ увеличит это значение на 1.

8
задан Community 23 May 2017 в 10:29
поделиться

7 ответов

На самом деле я полностью полагаюсь на функциональность навигации своего IDE, т.е. Visual Studio. Большую часть времени я использую F12 для перехода к объявлению (или Shift-F12 для нахождения всех ссылок) и Ctrl +-для перехода назад.

Причина этого состоит в том, что большую часть времени я работаю над кодом, который я не написал сам, и я не хочу тратить свои методы переупорядочения времени и поля.

P.S.: И я также использую RockScroll, дополнение VS, которое делает навигацию и прокрутку больших файлов довольно легкими

4
ответ дан 5 December 2019 в 17:42
поделиться

Если у Вас действительно есть проблемы при прокрутке и нахождении, возможно, что Вы страдаете от синдрома класса бога.

Fwiw, я лично склонен идти с:

class
{
  #statics (if any)

  #constructor

  #destructor (if any)

  #member variables

  #properties (if any)

  #public methods (overrides, etc, first then extensions)

  #private (aka helper) methods (if any)
}

И у меня нет отвращения к блокам региона, ни комментариев, поэтому свободно используйте обоих для обозначения отношений.

3
ответ дан 5 December 2019 в 17:42
поделиться

От моего (Java) точка зрения я сказал бы что конструкторы, открытые методы, закрытые методы, в том порядке. Я всегда пробую к групповым методам, реализовывая определенный интерфейс вместе.

Мое любимое предпочтительное оружие является ИДЕЕЙ IntelliJ, которая имеет некоторые хорошие возможности свернуть тела методов, таким образом, довольно легко отобразить два метода непосредственно друг выше друга, даже когда их фактическое положение в исходном файле является 700 строками независимо.

Я был бы осторожен с monkeying относительно с положением методов в фактическом источнике. Ваш IDE должен дать Вам способность просмотреть источник в способе, которым Вы хотите. Это особенно релевантно при работе над проектом, где разработчики могут использовать свой предпочтительный IDE.

1
ответ дан 5 December 2019 в 17:42
поделиться

Мой порядок, здесь это прибывает.

  • Я обычно помещал помехи сначала.

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

  • Треть является конструктором (или конструкторы, если у Вас есть несколько).

  • После этого следуйте методам. Им приказывают тем, что кажется логичным для того определенного класса. Я часто методы группы их уровнем доступа: частный, защищенный, общественность. Но у меня недавно был класс, который должен был переопределить много методов от его базового класса. Так как я делал большую работу там, я соединил их в одной группе, независимо от их уровня доступа.

Моя рекомендация: Закажите свои классы так, чтобы это помогло Вашему рабочему процессу. Просто не заказывайте им, только чтобы иметь порядок. Время, проведенное на упорядочивании, должно быть инвестициями, которые помогают Вам сэкономить больше времени, когда необходимо было бы иначе прокрутить вверх и вниз.

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

1
ответ дан 5 December 2019 в 17:42
поделиться

Я помещаю новый метод, который я просто создал сверху класса. Тот путь, когда я открываю проект, я вернулся в последнем методе, который я разрабатываю. Легче для меня для возвращения "в зоне".

Это также отразило то, что метод (который использует другие методы) я просто создал, верхний слой других методов.

Связанные с группой функции вместе, не будь трудно помещать все закрытые функции внизу. Аналогично, подражайте объяснению дизайна свойств C#, связанные функции должны быть в непосредственной близости друг от друга, конструкция языка C# для свойств укрепляет ту идею.



P.S.
Если только C# может вложить функции как Паскаль или Delphi. Возможно, Anders Hejlsberg может поместить его в C#, он также изобрел Turbo Pascal и Delphi :-) D язык имеет вложенные функции.
1
ответ дан 5 December 2019 в 17:42
поделиться

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

Это не стоило того. По моему скромному мнению, Вы не извлекаете реальной пользы из такого сложного расположения.

Что я делаю в наше время намного более просто:

  1. Конструкторы (конструктор по умолчанию сначала, иначе закажите, не имеет значения.)
  2. Методы, отсортированные по имени (статичный по сравнению с непомехами не имеет значения, ни краткий обзор по сравнению с бетоном, виртуальным по сравнению с финалом и т.д.),
  3. Внутренние классы, отсортированные по имени (интерфейс по сравнению с классом и т.д. не имеет значения),
  4. Поля, отсортированные по имени (статичный по сравнению с непомехами не имеет значения.) Дополнительно константы (общедоступный статический финал) сначала, но это не важно.
0
ответ дан 5 December 2019 в 17:42
поделиться

я вполне уверенный был дополнением Visual Studio, которое могло переупорядочить участников класса в коде.

так т.е. ctors на вершине класса затем статические методы затем методы экземпляра... что-то как этот

к сожалению, я не могу помнить название этого дополнения! я также думаю, что это дополнение было бесплатно! возможно, кто-то другой может выручить нас?

0
ответ дан 5 December 2019 в 17:42
поделиться
Другие вопросы по тегам:

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