Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.snto-msu.net/showflat.php?Number=8311440&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 05:00:15 2016
Кодировка: Windows-1251
Code style, single line statements и автоматический рефакторинг - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
Mike
Ызарг

Рег.: 02.11.2002
Сообщений: 8098
Рейтинг: 2147
  Code style, single line statements и автоматический рефакторинг
      30.01.2009 14:06
 

Вот еще одна тема, которую хотелось бы озвучить. (Пенартуру2 не читать, слишком опасно для его кости в голове.)

Имеется код, который некоторыми джавистами может считаться плохим:
code:
if (disposed) throw new ObjectDisposedException("cannot invoke methods on a disposed service proxy"); if (method == AUTHORIZE_METHOD) throw new InvalidOperationException("the Authorize() method must not be called explicitly");
Ошибки, связанные со скобками, на самом деле возникают не тогда, когда кто-то что-то хочет добавить к вычислению выражений. Мне кажется, что тем, кто может в этом случае чего-то не заметить, лучше не программировать совсем, а пойти работать в макдональдс. Правда там они будут забывать, что клиент просил колу без льда, а к картошке надо положить уже оплаченный сырный соус. Но это так, лирическое отступление.

Так вот, если ошибки, связанные с {} возникают у нормального человека, то это как правило причина рефакторинга, причем автоматического. Человек может разбить выражение на два, и т.п. Для всего этого существуют автоматизированые средства.

Часто в code style, даже Джавовских, пишут, что при выкидывании исключений, возвратах из функций и простых однострочных if-ах скобки ставить вовсе необязательно. К сожалению, не всегда удается поместить подходящий под эти условия код на одну строку. Поэтому я считаю, что приведенный мною блок кода не имеет никаких проблем.

Еще скобки ставят для того, чтобы облегчить задачи code review. Когда человек будет просматривать код, ему может быть проще оценить такую характеристику, как cyclomatic complexity.

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




Редактировал DarkGray (30.01.2009 14:55)
vissi

Рег.: 30.09.2007
Сообщений: 9275
Рейтинг: 8222
  Re: Code style и single line statements [re: Mike]
      30.01.2009 14:13
1

В ответ на:

Еще скобки ставят для того, чтобы облегчить задачи code review. Когда человек будет просматривать код, ему может быть проще оценить такую характеристику, как cyclomatic complexity.



А в чем заключается необходимость оценки цикломатической сложности при code review и используя мозг? Разве это нельзя делать автоматически?



Mike
Ызарг

Рег.: 02.11.2002
Сообщений: 8098
Рейтинг: 2147
  Re: Code style и single line statements [re: vissi]
      30.01.2009 14:31
-1

Quote:

А в чем заключается необходимость оценки цикломатической сложности при code review и используя мозг? Разве это нельзя делать автоматически?


Можно. Поэтому я и написал слова "некоторым удобнее".

alepar

Рег.: 18.02.2004
Сообщений: 9216
Рейтинг: 3643
  Re: Code style и single line statements [re: Mike]
      30.01.2009 14:44
2

Quote:

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



Тоже так считаю. Более того, считаю, что если делать рефакторинг руками в нормальной среде, то и там напортачить очень тяжело.
Однако предпочитаю их ставить, ибо, как заметил пенартур в пред треде (о ужас =) ), не вижу никаких причин их не ставить.

Кроме того, считаю, что две темы про лишние переносы и про "лишние" скобки не стоят того внимания, которое им было тут уделено =)
Можно с ходу назвать десяток вещей, которые гораздо больше бесят, приводят к гораздо более тяжелым последствиям, и, к сожалению, гораздо чаще встречаются.



Whatever you do in life will be insignificant, but it's very important that you do it.
Fj_
Carpal Tunnel

Рег.: 12.09.2004
Сообщений: 8795
Рейтинг: 3287
  Re: Code style, single line statements и автоматический рефакторинг [re: Mike]
      30.01.2009 22:56
8

Хахаха, чуваки, а давайте все спорщики за Единственный Правильный Метод Расстановки Скобок После "if" скажут свое мнение о FOIC (forced indentation of code), типа петоновской. Там этого вопроса тупо не возникает и всем все понятно. Правда, количество совсем пустых (не занятых даже фигурной скобкой) строк обычно несколько возрастает, майку может быть неприятно, лол.



The data is the error (c)IIS FTP Server.
horror
гонобобель

Рег.: 30.09.2002
Сообщений: 3784
Рейтинг: 2137
  Re: Code style, single line statements и автоматический рефакторинг [re: Mike]
      30.01.2009 23:59
5

есть замечательное правило по поводу code review, которое я прочитал (не помню где), кажется, в МакКоннеле:
не придирайтесь к мелочам

penartur2

Рег.: 16.06.2005
Сообщений: 54495
Рейтинг: 429
  Re: Code style, single line statements и автоматический рефакторинг [re: Fj_]
      31.01.2009 00:36
1

В ответ на:

давайте все спорщики за Единственный Правильный Метод Расстановки Скобок После "if" скажут свое мнение о FOIC (forced indentation of code), типа петоновской



Мне петоновский вариант не очень приятен, со скобками как-то привычнее, но пользоваться им можно.



Я ушел на новый форум.
Там правовое государство. А еще можно удобно листать аплоад ;)
Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в