Re[2]: {
От: Лось Чтостряслось СССР  
Дата: 21.09.16 17:08
Оценка:
Здравствуйте, anonymouse2, Вы писали:

A>Стандартным ANSI стилем и только так.

A>
for(unsigned i=0; i!=size; ++i)
A>{
A>    if (data[i]>tres)
A>    {
A>        doSomething(i, data[i]);
A>    }
A>    else
A>    {
A>        doAnother(i, data[i]);
A>    }
A>}


A>Хотя если в скобках одна строчка (как в if/else этом коде) то скобки вообще не ставлю.


ну хоть в этом форуме могу тебе единичку поставить!
социализм или варварство
Re[7]: {
От: cures Россия cures.narod.ru
Дата: 21.09.16 18:27
Оценка: +1
Здравствуйте, rumia, Вы писали:

R>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?


Чтобы сразу было видно, где оператор языка, а где вызов функции. Я ещё после assert пробел ставлю, так как он, во-первых, не функция, а макрос, а во-вторых, фактически заменяет отсутствующую нужную фичу языка — проверку выполенения условия в точке.
Re[4]: {
От: cures Россия cures.narod.ru
Дата: 21.09.16 18:32
Оценка:
Здравствуйте, rFLY, Вы писали:

FLY>Мне лично в таком варианте напрягает как зачастую else становится ровно по середине под }

} else {

Именно так всегда и пишу, угробить сразу аж три строки на переход к новой ветке — это перебор.
И ещё вот так, когда веток много:
} else if (...) {
Re[5]: {
От: ononim  
Дата: 21.09.16 19:23
Оценка:
Q>Я вообще не понимаю, почему скобки должны быть не на уровне табуляций. Я могу понять такой способ
Автор: anonymouse2
Дата: 18.09.16
(хотя скобки при этом оказываются "висящими", или лучше такой
Автор: qwertyuiop
Дата: 18.09.16
. Но ставить скобки не на уровне табуляций — это просто извращение какое-то.

Это антияльясинг.
Как много веселых ребят, и все делают велосипед...
Re: {
От: alzt  
Дата: 03.10.16 21:04
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Это вопрос стиля кода. Обычно в проекте надо либо ставить { на той же строке везде, либо на следующей также везде.
Сложностей нет, привыкаешь к любому стилю. Может пару недель придётся потратить на привыкание, если используешь только один стиль.
А текущем проекте { скобочку надо ставить на той же строке. Код, где скобка ставится на следующей строке, меня сейчас раздражает. Но раньше было наоборот.
Re[8]: {
От: alpha21264 СССР  
Дата: 04.10.16 09:54
Оценка:
Здравствуйте, cures, Вы писали:

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


R>>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?


C>Чтобы сразу было видно, где оператор языка, а где вызов функции.


Кха... Это редактор и так подсветкой показывает.
И даже если не показывает, операторов не так много — их и так знаешь.

Течёт вода Кубань-реки куда велят большевики.
Re: {
От: zverjuga Беларусь  
Дата: 04.10.16 15:06
Оценка: +1
может звучать странно, но в разных языках — по разному. например, в шарпе скобку ставлю в следующей строке, а вот в js и swift — на той же. как то естественно получается так, особо даже и не парюсь над этим. вероятно, в шарпе так получилось в силу многолетней привычки, да и решарпер по моему больше любит, когда скобку на следующую строку переводят. вот и меня он к этому приучил. а в свифте почти все примеры кода, что я видел, используют второй вариант, то есть открывающая строчка на одном уровне с циклом или ифом. возможно, что так получилось еще и из-за того, что swift придумал замечательную вещь, от которой довольно сложно избавиться, когда пишешь на том же шарпе. в swift в циклах или ифах не обязательно использовать круглые скобки с условиями, да и точку с запятой тоже не обязательно ставить в конце строчки с кодом. что хоть не намного, но упрощает процесс разработки и код хочется писать за меньшее время. а потому и скобку ставишь на том же уровне, что и условие.
но религиозный вопрос, как лучше — давно отпал. по большому счету по фигу.
проклятый антисутенерский закон
Re[4]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.10.16 06:14
Оценка: +1
Здравствуйте, neFormal, Вы писали:

N>>Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной.

N>>Может, они хороши для показа табличек в тексте, но не для кода.

F>враппинг тут ни при чём. код именно вертикально вытягивается, что не несёт никакого смысла.


Мало какому коду это реально проблемно (а если так — часто у него есть собственно проблемы перегруженности). Я часто вставляю пустые строки для логического разделения частей кода. Зато то, что '{' сама бросается в глаза, и на том же уровне, что '}', резко облегчает парсинг кода по блокам глазами.

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

N>>Это к чему?
F>к тому, что скобки не нужны,

Я не знаю, как вообще комментировать эту чушь. Мы же вроде не о Python или Haskell говорили?

F> поэтому прятать их в египетском стиле — это легко, приятно,


Они неизбежны, и прятать их — маленькое, но зло.

F> исправляет прикус и не сушит попку твоего малыша.


А зубы становятся белыми и пушистыми. Спасибо, проходили.
The God is real, unless declared integer.
Re[5]: {
От: neFormal Россия  
Дата: 05.10.16 09:26
Оценка:
Здравствуйте, netch80, Вы писали:

N>Мало какому коду это реально проблемно


ты думаешь об одной ф-ции, а я про несколько ф-ций на одном экране.

F>>к тому, что скобки не нужны,

N>Я не знаю, как вообще комментировать эту чушь.

вежливость зашкаливает.
...coding for chaos...
Re[6]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.10.16 10:06
Оценка:
Здравствуйте, neFormal, Вы писали:

N>>Мало какому коду это реально проблемно

F>ты думаешь об одной ф-ции, а я про несколько ф-ций на одном экране.

Я думал, я тут один сижу в основном в 25x80. Но даже в этом случае количество ситуаций, когда надо сверять несколько соседних кусков — крайне мало, и в основном это случаи конфликтного мержинга патчей.

F>>>к тому, что скобки не нужны,

N>>Я не знаю, как вообще комментировать эту чушь.

F>вежливость зашкаливает.


Воистину так. А вот писать безусловную чушь — невежливо, ибо ведёт к бессмысленным оффтопикам.
The God is real, unless declared integer.
Re[2]: {
От: RiNSpy  
Дата: 05.10.16 10:22
Оценка: +2
Здравствуйте, alpha21264, Вы писали:

A>
A>for( int i=0 ; i<10 ; i++ )
A>{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
A>}
A>


А почему пробелы такие? Лучше же вот так:

for (int i = 0; i < 10; i++)
Re[4]: {
От: RiNSpy  
Дата: 05.10.16 10:27
Оценка:
Здравствуйте, std.denis, Вы писали:

Y>>Нет, он над нами издевается!


SD>Не он, а GNU Image: bad.gif


GNU имхо вообще создавался как тонкий троллинг.
Re[2]: {
От: Evgeny.Panasyuk Россия  
Дата: 05.10.16 21:06
Оценка: 3 (1)
Здравствуйте, neFormal, Вы писали:

V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.

F>скобцам не понять.
F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.

Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.
В Emacs это решается через оверлеи (сам код вообще не меняется, меняется только отображение):
(defun my/hide-regexp (r x)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward r nil t)
      (let ((o (make-overlay (match-beginning 1) (match-end 1))))
        (overlay-put o 'invisible t)
        (when x
          (overlay-put o 'display x))))))

(defun my/hide-stuff ()
  (interactive)
  (my/hide-regexp "\\(;\\)\n" nil)
  (my/hide-regexp "\\(\n\s*{\n\\)" ":\n")
  (my/hide-regexp "\\(^\s*}\s*;?\s*\\)\n" nil))

(bind-key "<f5>" 'my/hide-stuff)

Исходный вид:


Нажимаем F5:


https://www.youtube.com/watch?v=EHX7NZS8zAI

Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки (они ведь есть на самом деле, как тот суслик), и чтобы гарантировалось их автоматическое расставленние. Под капотом можно использовать стиль который принят в проекте.
Отредактировано 05.10.2016 21:08 Evgeny.Panasyuk . Предыдущая версия .
Re[3]: {
От: Kswapd Россия  
Дата: 05.10.16 21:58
Оценка:
Здравствуйте, RiNSpy, Вы писали:

RNS>А почему пробелы такие? Лучше же вот так:

RNS>
RNS>for (int i = 0; i < 10; i++)
RNS>


А я пишу вызовы функций без пробелов: sqrt(x), но заголовки циклов и условий с пробелами: if ( a > 0 ) {...}, for ( int i = 0; i < count; ++i ) {...}. Так кажется читабельнее.
Re[3]: {
От: neFormal Россия  
Дата: 06.10.16 11:51
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.


прекрасно! спасибо
очень оригинальное извращение

EP>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки


да, вот это-то и пугает больше всего.
...coding for chaos...
Re: {
От: ononim  
Дата: 20.10.16 22:39
Оценка: 3 (2) :))) :))) :)))

(с) https://twitter.com/UdellGames/status/788690145822306304
Как много веселых ребят, и все делают велосипед...
Отредактировано 20.10.2016 22:40 ononim . Предыдущая версия .
Re[4]: {
От: Evgeny.Panasyuk Россия  
Дата: 20.10.16 23:28
Оценка:
Здравствуйте, neFormal, Вы писали:

EP>>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.

F>прекрасно! спасибо
F>очень оригинальное извращение

Я видел на эту тему разбавление CamelCase'а виртуальными подчёркиваниями (link).

EP>>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки

F>да, вот это-то и пугает больше всего.

Да, это самая сложная часть, но вполне реализуемая.
В конце концов можно при редактировании включать скобки (автоматом), а при просмотре выключать. Хотя конечно лучше не скакать между режимами.
Re[2]: {
От: Дрободан Фрилич СССР  
Дата: 23.10.16 07:44
Оценка:
ononim:

O>Image: CvH9gfFWcAA2knK.jpg

O>(с)

Это писал человек, которого укусил питон.
Re: уважаю принятый стандарт кодирования
От: Alexander G Украина  
Дата: 29.11.16 22:24
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

Всегда уважаю принятый в команде стандарт кодирования во всех подобных вопросах.

Потому что надо же хоть в чём-то следовать этому самому стандарту кодирования.
Так лучше буду следовать ни на что не влияющим правилам, и поставлю скобку, как просят, чем буду, например, заниматься эквилибристикой при выходе из вложенного for, потому что, типа, "у нас множественный return запрещен, и goto тоже запрещен".
Русский военный корабль идёт ко дну!
Re: {
От: Nikita123 Россия  
Дата: 30.11.16 11:39
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?
V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Самые крутые программеры вообще пишут без всяких {
Желаю успеха,
Никита.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.