'{' и java
От: Нэчер  
Дата: 29.05.08 08:36
Оценка: +3 :)))
Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?
IMHO, жутко неудобно!

Сравните:

class HelloWorld{ 
public static void main(String[] args){  
System.out.println("Hello world");  
}  
}


и

class HelloWorld
{ 
  public static void main(String[] args)
  {  
    System.out.println("Hello world");  
  }  
}


Re: '{' и java
От: Alxndr Германия http://www.google.com/profiles/alexander.poluektov#buzz
Дата: 29.05.08 08:41
Оценка: +2
Здравствуйте, Нэчер, Вы писали:

Н>
Н>class HelloWorld{ 
Н>public static void main(String[] args){  
Н>System.out.println("Hello world");  
Н>}  
Н>} 
Н>


Табуляцию, между прочим, и в Java не отменяли.
Re: '{' и java
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.05.08 08:42
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>IMHO, жутко неудобно!

Н>Сравните:


Н>
Н>class HelloWorld{ 
Н>public static void main(String[] args){  
Н>System.out.println("Hello world");  
Н>}  
Н>} 
Н>


имхо некорректно, правильней (вроде по сановским рекоммендациям, проверять лениво):

/**
 * some javadoc for class
 */
class HelloWorld{ 
    /**
     * some javadoc for method
     */
    public static void main(String[] args){  
        System.out.println("Hello world");  
    }  
}
Re[2]: '{' и java
От: CreatorCray  
Дата: 29.05.08 08:47
Оценка:
Здравствуйте, Курилка, Вы писали:

К>имхо некорректно

Что значит некорректно? Нюансы оформления на результат компиляции не влияет.
То, что SUN нравится такой стиль совершенно не значит что в другом стиле код оформлять нельзя.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: '{' и java
От: jazzer Россия Skype: enerjazzer
Дата: 29.05.08 08:50
Оценка: +4 -2 :))
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>IMHO, жутко неудобно!

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

Ну и насчет отличия от С ты загнул: в оригинальной книжке Кернигана-Ричи по С именно так скобки и стояли, ЕМНИП.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: '{' и java
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.05.08 08:52
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Курилка, Вы писали:


К>>имхо некорректно

CC>Что значит некорректно? Нюансы оформления на результат компиляции не влияет.
CC>То, что SUN нравится такой стиль совершенно не значит что в другом стиле код оформлять нельзя.

Вопрос был по поводу стиля оформления, я написал, что приведённое некорректно по рекоммендациям сана про стили оформления кода на Java. Про то, что "в другом стиле код оформлять код нельзя" — ваши домыслы.
Подмена темы — очень некрасивый, на мой взгляд, способ ведения дискуссии.
Re: '{' и java
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 29.05.08 08:57
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>IMHO, жутко неудобно!

Это всего лишь рекомендации. Зависит от проекта, над котором работаешь.
Если разрешено, я всегда переношу.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: '{' и java
От: Cyberax Марс  
Дата: 29.05.08 08:57
Оценка: +1
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>IMHO, жутко неудобно!
Ну так переноси — кто мешает-то? Я так и делаю, кстати.

Формат кода настраивается во всех нормальных IDE.
Sapienti sat!
Re[2]: '{' и java
От: Plague Россия  
Дата: 29.05.08 09:12
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, Нэчер, Вы писали:


Н>>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>>IMHO, жутко неудобно!

J>Рискну предположить, что это из-за того, что народ учился в основном по книжкам, а в книжках для экономии места обычно скобки на отдельные строчки не ставят

Нет, думаю дело даже не в книжках, а чисто в экономии строк, т.е. чтоб максимум на экране поместилось. Думаю, в 70х-80х было актуально...
Этот стиль позаимствован у K&R, а перенос первой скобки на новую строку — это стиль ANSI C.
Глянуть можно тут про стили

J>Ну и насчет отличия от С ты загнул: в оригинальной книжке Кернигана-Ричи по С именно так скобки и стояли, ЕМНИП.

Да, т.к. это стиль K&R. =) Мне он не нравится, мне больше нравится переносить скобку, т.к. можно увидеть где блок начинается, а где заканчивается, т.е. даже не важно что это, а главное что это блок. Ставить скобки если тело блока занимает одну строку — дело легкости чтения, если скобки облегчат понимание — их стоит ставить.
... << RSDN@Home 1.2.0 alpha rev. 787>>
Re[3]: '{' и java
От: Erop Россия  
Дата: 29.05.08 09:32
Оценка:
Здравствуйте, Plague, Вы писали:

P>Да, т.к. это стиль K&R. =) Мне он не нравится, мне больше нравится переносить скобку, т.к. можно увидеть где блок начинается, а где заканчивается, т.е. даже не важно что это, а главное что это блок. Ставить скобки если тело блока занимает одну строку — дело легкости чтения, если скобки облегчат понимание — их стоит ставить.


В стиле K&R тоде всегда видно начало блока. Это всегда непустая строка над закрывающейся скобкой. Чем хуже --
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: endians: тупо vs остро? :)
От: Erop Россия  
Дата: 29.05.08 09:35
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>IMHO, жутко неудобно!

IMHO это примерно такая же СВ как и TAB vs пробелы...
IMHO надо их рядышком положить...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: '{' и java
От: Plague Россия  
Дата: 29.05.08 09:41
Оценка: :)
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Plague, Вы писали:


P>>Да, т.к. это стиль K&R. =) Мне он не нравится, мне больше нравится переносить скобку, т.к. можно увидеть где блок начинается, а где заканчивается, т.е. даже не важно что это, а главное что это блок. Ставить скобки если тело блока занимает одну строку — дело легкости чтения, если скобки облегчат понимание — их стоит ставить.


E>В стиле K&R тоде всегда видно начало блока. Это всегда непустая строка над закрывающейся скобкой. Чем хуже --

Ничем, это вопрос восприятия. По мне, так лучше с переносом, кому-то лучше без...
... << RSDN@Home 1.2.0 alpha rev. 787>>
Re[3]: '{' и java
От: jazzer Россия Skype: enerjazzer
Дата: 29.05.08 09:48
Оценка: +4
Здравствуйте, Plague, Вы писали:

P>Здравствуйте, jazzer, Вы писали:


J>>Здравствуйте, Нэчер, Вы писали:


Н>>>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?

Н>>>IMHO, жутко неудобно!

J>>Рискну предположить, что это из-за того, что народ учился в основном по книжкам, а в книжках для экономии места обычно скобки на отдельные строчки не ставят

P>Нет, думаю дело даже не в книжках, а чисто в экономии строк, т.е. чтоб максимум на экране поместилось. Думаю, в 70х-80х было актуально...
ну так а я что сказал? чем экономия места отличается от экономии строк?

P>Этот стиль позаимствован у K&R, а перенос первой скобки на новую строку — это стиль ANSI C.

P>Глянуть можно тут про стили
Слушай, ну вот я не верю, что ты, отвечая на мои строчки вверху, не прочитал мои же строчки внизу про K&R

А насчет Java — так она, с их требованием держать весь код класса в одном файле, вообще в обычном текстовом редакторе не живет, ибо нет никакой возможности увидеть список членов, методов и т.п. — все вперемешку.
Так что только IDE, а тут уже, имхо, оверхед на лишние строки для скобок совершенно пофиг.

J>>Ну и насчет отличия от С ты загнул: в оригинальной книжке Кернигана-Ричи по С именно так скобки и стояли, ЕМНИП.

P>Да, т.к. это стиль K&R. =) Мне он не нравится, мне больше нравится переносить скобку, т.к. можно увидеть где блок начинается, а где заканчивается, т.е. даже не важно что это, а главное что это блок. Ставить скобки если тело блока занимает одну строку — дело легкости чтения, если скобки облегчат понимание — их стоит ставить.

Для меня лично не так важно видеть, где начинается блок (это и по отступу видно обычно), как то, что строчка со скобкой (по сути, пустая) визуально отделяет тело блока от условий/итераций и прочего содержимого if/for/while, особенно когда все это начинает рифмоваться с отступом:
if (условие1 &&
    условие2 &&
    условие3) {
    код1
    код2
    код3
}
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: '{' и java
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 29.05.08 09:49
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>То, что SUN нравится такой стиль совершенно не значит что в другом стиле код оформлять нельзя.

Можно, но не стоит.
Re: '{' и java
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 29.05.08 10:07
Оценка: +1 :))) :))
Здравствуйте, Нэчер, Вы писали:

При работе с конкретным языком программирования не стоит выеживаться и пытаться скомпенсировать свою ограниченность (владение всего одним синтаксисом или привыкание к мелочам, что характерно старым людям); правильная жизненная позиция — использовать code conventions, рекомендуемые производителем компилятора.

Code Conventions for the Java Programming Language

1 — Introduction

1.1 Why Have Code Conventions

Code conventions are important to programmers for a number of reasons:

Re[4]: '{' и java
От: CreatorCray  
Дата: 29.05.08 10:37
Оценка: -1
Здравствуйте, Курилка, Вы писали:

К>>>имхо некорректно

CC>>Что значит некорректно? Нюансы оформления на результат компиляции не влияет.
CC>>То, что SUN нравится такой стиль совершенно не значит что в другом стиле код оформлять нельзя.
К>Вопрос был по поводу стиля оформления, я написал, что приведённое некорректно по рекоммендациям сана про стили оформления кода на Java. Про то, что "в другом стиле код оформлять код нельзя" — ваши домыслы.
Я речь как раз про стиль и веду.

К>Подмена темы — очень некрасивый, на мой взгляд, способ ведения дискуссии.

Спокойнее...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: '{' и java
От: Erop Россия  
Дата: 29.05.08 10:39
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Для меня лично не так важно видеть, где начинается блок (это и по отступу видно обычно), как то, что строчка со скобкой (по сути, пустая) визуально отделяет тело блока от условий/итераций и прочего содержимого if/for/while, особенно когда все это начинает рифмоваться с отступом:

Иногда делают, наример, так:
J>
J>if (условие1 &&
J>        условие2 &&
J>        условие3) {
J>    код1
J>    код2
J>    код3
J>}
J>
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: '{' и java
От: Erop Россия  
Дата: 29.05.08 10:39
Оценка: +2
Здравствуйте, Plague, Вы писали:

P>Ничем, это вопрос восприятия. По мне, так лучше с переносом, кому-то лучше без...

Расширь своё восприятие! И будешь, как я! -- Мне ПОФИГ!
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: '{' и java
От: Plague Россия  
Дата: 29.05.08 11:13
Оценка: :)
Здравствуйте, jazzer, Вы писали:

J>ну так а я что сказал? чем экономия места отличается от экономии строк?

Минус за то, что книжки тут ни при чем.. =) Просто был выбран именно K&R стиль, а ANSI C стиль к этому времени уже давно существовал.

J>Слушай, ну вот я не верю, что ты, отвечая на мои строчки вверху, не прочитал мои же строчки внизу про K&R

см.выше =)

J>А насчет Java — так она, с их требованием держать весь код класса в одном файле, вообще в обычном текстовом редакторе не живет, ибо нет никакой возможности увидеть список членов, методов и т.п. — все вперемешку.

J>Так что только IDE, а тут уже, имхо, оверхед на лишние строки для скобок совершенно пофиг.
Согласен, начинают возникать проблемы с читабельностью =) т.к. объявление и реализация все в одном месте... но Eclipse IDE сглаживает это хоть хорошо, думаю, IDEA тоже...
А если без IDE разгребать файлы по 100к+ совершенно не удобно... модульность плохо используется... ((

J>Для меня лично не так важно видеть, где начинается блок (это и по отступу видно обычно), как то, что строчка со скобкой (по сути, пустая) визуально отделяет тело блока от условий/итераций и прочего содержимого if/for/while, особенно когда все это начинает рифмоваться с отступом:

J>
J>if (условие1 &&
J>    условие2 &&
J>    условие3) {
J>    код1
J>    код2
J>    код3
J>}
J>

у меня выглядит обычно так:
if( условие1
    && условие2
    && условие3 ) 
{
    код1;
    код2;
    код3;
}

1. Определение функции визуально отчетливо разбито на 2 составляющих, т.е. условие3 не сливается с кодом.
2. Ставлю && и || перед условием, а не в конце предыдущего, т.к. хорошо видно, что это продолжение условия.

это все мое ИМХО
... << RSDN@Home 1.2.0 alpha rev. 787>>
Re: '{' и java
От: iZEN СССР  
Дата: 29.05.08 11:19
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Очень интересно, почему в JAVA (в отличии от C/C++) принято не переносить '{' на новую строку?


Это стиль создателей языка Си — Дениса Ритчи и Брайана Кернигана (первый создал язык программирования, второй дал его описание, применив такую нотацию).
Знак '{' на следующей строке в C++ ввёл Бьёрн Страуструп, если не ошибаюсь.

Н>IMHO, жутко неудобно!


Кому-как.

Кодинг-стандарт на Java официально здесь:
http://developers.sun.com/prodtech/cc/products/archive/whitepapers/java-style.pdf (256КБ)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.