Как правильно ссылаться на элементы Java в тексте? - PullRequest
7 голосов
/ 10 марта 2011

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

Например, я часто печатаю:

Для сравнения двух строк на равенство следует использовать String.equals().

Однако это немного вводит в заблуждение:

  1. Это делает equals() статическим элементом.
  2. Это делает equals() неПримите любые аргументы.

В интересах полноты я хотел бы знать:

Как правильно ссылаться как на статические, так и на элементы экземпляра?

Я видел такие вещи, как:

  • String.equals ()
  • String # equals ()
  • myString.equals ()

Есть ли способ ссылаться на методы независимо от аргументов?

Например, в C foo(void) явно равен нулюФункция аргумента и foo() могут быть переопределены позже, чтобы иметь другой набор аргументов.(?)

Ответы [ 7 ]

4 голосов
/ 10 марта 2011

Если вы хотите быть точным, вы можете использовать

java.lang.String#equals(java.lang.Object)

или более короткая форма

String#equals(Object)

Это похоже на нотацию, используемую в javadoc, и, что интересно, также похоже на ссылку на документацию, которая заканчивается на:

String.html#equals(java.lang.Object)

Редактировать: Вот ссылка на документацию javadoc , описывающую, как использовать ссылки.

2 голосов
/ 10 марта 2011

String.equals.

Если вы хотите указать типы аргументов String.equals(Object).

Добавление скобок (equals()) - вещь C.В частности, ANSI C, в котором функция без аргументов будет записана как tostring(void) (я на самом деле слишком молод (!), Чтобы помнить K & R / PCC C).C ++ исправил это - так что () действительно довольно старая школа.

2 голосов
/ 10 марта 2011

Использование myString.equals () не имеет смысла, если вы не очень ясно заявите, что myString является экземпляром String. javadoc использует String # equals (), так что большинство разработчиков должны его читать и понимать. Это был бы мой выбор.

2 голосов
/ 10 марта 2011

Я обнаружил, что ссылка на документацию для метода equals в String устраняет неоднозначность.

1 голос
/ 10 марта 2011

myString.equals() идеально.Это подразумевает тип и дает понять, что речь идет об экземпляре.

Вы можете даже добавить:

myString.equals(aString)

1 голос
/ 10 марта 2011

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

Если я пытаюсь указать, какую подпись метода использовать, я обычно предоставлю пример кода.Это в основном потому, что мне проще, чем писать длинное описание.

0 голосов
/ 11 марта 2011

При обращении к методу я использую "String.equals ()" . Это для читателей-людей, и они, вероятно, знают, о чем вы говорите, из контекста. В случае, если это может сбить с толку, просто скажите "method String.equals ()"

One should use String.equals() for comparing two strings for equality.

Серьезно, кого бы смутило это предложение? Так что не волнуйся. Это просто английский язык, компилятор не кричит на тебя.

...