2011-12-27 2 views
3

Я пытаюсь изучить Java на прошлой неделе и до сих пор смог разработать разумные коды. Однако у меня, похоже, есть проблема в понимании соглашения об именах Java.Соглашение о присвоении имен Java

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

import java.io.*; 
import java.util.*; 

class orange implements Comparator { 
    public int mango(...) { 
    } 
} 

class jason { 
    public static void main(String args[]) throws java.io.IOException { 
     { 
      //content here 
     } 
    } 
} 

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

Если это помогает, я запускаю OpenJDk/IcedTea.

+1

Это не форсируется компилятором. Это [соглашение об именах, определенное в JLS] (http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.8.2). –

+1

Этот код ** НЕ СЛЕДУЕТ ** скомпилировать. Недопустимый синтаксис. –

+1

Сергей, Можете ли вы объяснить, почему вы сказали недействительный синтаксис? что не так? – JasonB

ответ

6

A naming convention is a rule to follow as you decide what to name your identifiers (e.g. class, package, variable, method, etc..) and it is not an EXCEPTION.

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

Обратитесь к LINK за более подробными соглашениями об использовании JAVA.

5

Это соглашение, а не правило компилятора.

Вы можете сломать его, если хотите, но я рекомендую следовать соглашению.

1

Это соглашение о том, что имена классов начинаются с верхнего регистра, но компилятор не применяет его. То же самое с именами методов (хотя они начинаются с нижнего регистра).

У меня есть never видные имена классов с нижним регистром. Только не делай этого.

6

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

1

Java компилятор не применяет именования. Это называется конвенции по причине: для облегчения чтения кода. Например, когда вы видите orange, это, вероятно, переменная, не нужно искать ее. И в вашем случае читатель вашего кода будет довольно удивлен.

1

Вы нарушили соглашение об именах, а не синтаксис языка - вот почему ваш код компилируется без ошибок.

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

0

Java - это язык, который широко используется во всем мире. За каждый момент времени на Java каждый раз запускается множество приложений. Нет необходимости, чтобы один и тот же код обрабатывался и поддерживался одним и тем же разработчиком через всю его жизнь. Следовательно, чтобы избежать двусмысленности и держать ее простой в понимании и повторном использовании, соблюдается соглашение об именах. Угадайте, что произойдет, если каждый из нас использует наши собственные соглашения. Это негативно скажется на повторном использовании кода, потому что другим разработчикам потребуется много времени, чтобы понять код, прежде чем работать над ним. Следовательно, требуется, чтобы каждый разработчик Java знал и следил за стандартными протоколами, чтобы каждый из них был на одной странице.

Смежные вопросы