![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ci5 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.12.2008 Репутация: нет Всего: нет |
Собственно и дошло время познакомиться с этим файликом. Многое я выполнял и до этого, но наткнулся на такие вещи, как:
Note: if statements always use braces {}. Avoid the following error-prone form: if (condition) //AVOID! THIS OMITS THE BRACES {}! statement; Тоже самое касается цикла for, while. Тоесть
Собственно напрашивается вопрос для чего это надо. По мне табуляция в 4 пробела делает нормальную читабельность. Или другими словами что вы об этом думаете и какая политика у вас в фирме с этим делом? Ну, если не секрет конечно ![]() |
||||
|
|||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: нет Всего: 50 |
Я ставлю скобки.
Добавлено через 52 секунды
|
|||
|
||||
kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Ну всё правильно. Я тоже всегда ставлю. Это частный случай золотого правила программирования, так сказать. Код пишеться с нуля один раз, а правиться миллионы раз. То есть прежде всего надо заботиться о том, чтобы последующие изменения обходились малой кровью.
Написали:
Потом захотели добавить в тело цикла ещё что-то, надо добавлять скобки:
А если забыли {} (мало ли бывает, например, параллельно пишем что-то на Python и по невнимательности...)
то получим совсем не то, что ожидаем... -------------------- |
||||||
|
|||||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Поддерживаю - всегда ставлю скобки, даже если после ифа только одна строка.
|
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 92 |
Ставим скобки даже если одна строка. Правда я иногда себе позволяю не ставить скобки в if с управляющими (или как их по-русски) операторами return, continue, break, ну и иногда throw, если он простой. Как правильно сказал kemiisto код не только пишется и читается, но ещё и редактируется. Это сообщение отредактировал(а) Дрон - 15.11.2011, 15:22 -------------------- Да. Именно так. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Если много условий, то без скобок наоборот лучше. Например:
При использовании скобок, код значительно увеличится. Хотя, пожалуй это единственный случай, когда лучше писать без скобок. ИМХО. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
-------------------- |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
kemiisto, будет больше опыта в Java программировании - поймёшь, что был не прав
![]() |
|||
|
||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Samotnik, а сколько опыта нужно, чтобы пришло озарения?
![]() -------------------- Lost.... |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 1 Всего: 13 |
Samotnik
Для вашего примера свитч со стейтами смотрится приятней, плохой пример =) |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
toxx, будет больше опыта в Java программировании - поймёшь, что был не прав
![]() -------------------- |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
у кого как ![]() Ситуация: Клиент посылает запрос, один из параметров это название немецкого bundesland. Он приходит в полном виде, например bayern, на сервере в базе также есть bundeslands, но хранятся они в сокращённом формате, например BY. Допустим, нужно самое простое, сделать выборку, подставив значение. При том, что есть куча фильтров, в которых используется это значение. Т.е. нужно либо в каждом методе писать конвертацию внешнего вида bundesland во внутреннюю, либо сделать это один раз, сразу после приёма параметра. Я выбрал второй вариант:
kemiisto, Есть лучше вариант? С радостью послушаю и воспользуюсь. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Если у вас такой код в продакшене, мне вас жаль. Вообще, я с трудум понимаю тех, кто радуется возможности switch'ить по строкам в Java 7. Если у ввас возникла необходимость switch'ить по строкам, у меня для вас плохие новости, как сказать, так сказать.
![]() Тут enum'ы в чистом виде. Заранее фиксированный набор значений. Особенно меня радует вот этот кусок:
То есть вызываем convertBundesland("Ololo Trollolo!") и будьте любезны - в Германии на одну bundesland больше. Или можно ещё завести Map<String, String> и от него плясать. -------------------- |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
давай без философии. Конкретно, как ты бы решил проблему? Свитчем по энаму? И что, чем это лучше ифа ?
Я не выкладывал код проверки валидности значений, она в другом месте. Цель была показать место, где нужно применять много ифов. Пример можно ? |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
На коленках:
get по отсутствующему ключу вернёт null, но корректность ты где-то в другом месте проверяешь, так что я тоже не стал заморачиваться. ![]() -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |