Здравствуйте, rumia, Вы писали:
R>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?
Чтобы сразу было видно, где оператор языка, а где вызов функции. Я ещё после assert пробел ставлю, так как он, во-первых, не функция, а макрос, а во-вторых, фактически заменяет отсутствующую нужную фичу языка — проверку выполенения условия в точке.
Здравствуйте, Varavva, Вы писали:
V>Кто как ставит { для цикла for? V>В смысле в этой же строке или отдельно на следующей?
V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Это вопрос стиля кода. Обычно в проекте надо либо ставить { на той же строке везде, либо на следующей также везде.
Сложностей нет, привыкаешь к любому стилю. Может пару недель придётся потратить на привыкание, если используешь только один стиль.
А текущем проекте { скобочку надо ставить на той же строке. Код, где скобка ставится на следующей строке, меня сейчас раздражает. Но раньше было наоборот.
Здравствуйте, cures, Вы писали:
C>Здравствуйте, rumia, Вы писали:
R>>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?
C>Чтобы сразу было видно, где оператор языка, а где вызов функции.
Кха... Это редактор и так подсветкой показывает.
И даже если не показывает, операторов не так много — их и так знаешь.
может звучать странно, но в разных языках — по разному. например, в шарпе скобку ставлю в следующей строке, а вот в js и swift — на той же. как то естественно получается так, особо даже и не парюсь над этим. вероятно, в шарпе так получилось в силу многолетней привычки, да и решарпер по моему больше любит, когда скобку на следующую строку переводят. вот и меня он к этому приучил. а в свифте почти все примеры кода, что я видел, используют второй вариант, то есть открывающая строчка на одном уровне с циклом или ифом. возможно, что так получилось еще и из-за того, что swift придумал замечательную вещь, от которой довольно сложно избавиться, когда пишешь на том же шарпе. в swift в циклах или ифах не обязательно использовать круглые скобки с условиями, да и точку с запятой тоже не обязательно ставить в конце строчки с кодом. что хоть не намного, но упрощает процесс разработки и код хочется писать за меньшее время. а потому и скобку ставишь на том же уровне, что и условие.
но религиозный вопрос, как лучше — давно отпал. по большому счету по фигу.
Здравствуйте, neFormal, Вы писали:
N>>Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной. N>>Может, они хороши для показа табличек в тексте, но не для кода.
F>враппинг тут ни при чём. код именно вертикально вытягивается, что не несёт никакого смысла.
Мало какому коду это реально проблемно (а если так — часто у него есть собственно проблемы перегруженности). Я часто вставляю пустые строки для логического разделения частей кода. Зато то, что '{' сама бросается в глаза, и на том же уровне, что '}', резко облегчает парсинг кода по блокам глазами.
F>>>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору. N>>Это к чему? F>к тому, что скобки не нужны,
Я не знаю, как вообще комментировать эту чушь. Мы же вроде не о Python или Haskell говорили?
F> поэтому прятать их в египетском стиле — это легко, приятно,
Они неизбежны, и прятать их — маленькое, но зло.
F> исправляет прикус и не сушит попку твоего малыша.
А зубы становятся белыми и пушистыми. Спасибо, проходили.
Здравствуйте, neFormal, Вы писали:
N>>Мало какому коду это реально проблемно F>ты думаешь об одной ф-ции, а я про несколько ф-ций на одном экране.
Я думал, я тут один сижу в основном в 25x80. Но даже в этом случае количество ситуаций, когда надо сверять несколько соседних кусков — крайне мало, и в основном это случаи конфликтного мержинга патчей.
F>>>к тому, что скобки не нужны, N>>Я не знаю, как вообще комментировать эту чушь.
F>вежливость зашкаливает.
Воистину так. А вот писать безусловную чушь — невежливо, ибо ведёт к бессмысленным оффтопикам.
Здравствуйте, neFormal, Вы писали:
V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это. F>скобцам не понять. F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать. F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.
Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.
В Emacs это решается через оверлеи (сам код вообще не меняется, меняется только отображение):
Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки (они ведь есть на самом деле, как тот суслик), и чтобы гарантировалось их автоматическое расставленние. Под капотом можно использовать стиль который принят в проекте.
Здравствуйте, RiNSpy, Вы писали:
RNS>А почему пробелы такие? Лучше же вот так: RNS>
RNS>for (int i = 0; i < 10; i++)
RNS>
А я пишу вызовы функций без пробелов: sqrt(x), но заголовки циклов и условий с пробелами: if ( a > 0 ) {...}, for ( int i = 0; i < count; ++i ) {...}. Так кажется читабельнее.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.
прекрасно! спасибо
очень оригинальное извращение
EP>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки
Здравствуйте, neFormal, Вы писали:
EP>>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;. F>прекрасно! спасибо F>очень оригинальное извращение
Я видел на эту тему разбавление CamelCase'а виртуальными подчёркиваниями (link).
EP>>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки F>да, вот это-то и пугает больше всего.
Да, это самая сложная часть, но вполне реализуемая.
В конце концов можно при редактировании включать скобки (автоматом), а при просмотре выключать. Хотя конечно лучше не скакать между режимами.
Здравствуйте, Varavva, Вы писали:
V>Кто как ставит { для цикла for? V>В смысле в этой же строке или отдельно на следующей?
Всегда уважаю принятый в команде стандарт кодирования во всех подобных вопросах.
Потому что надо же хоть в чём-то следовать этому самому стандарту кодирования.
Так лучше буду следовать ни на что не влияющим правилам, и поставлю скобку, как просят, чем буду, например, заниматься эквилибристикой при выходе из вложенного for, потому что, типа, "у нас множественный return запрещен, и goto тоже запрещен".
Здравствуйте, Varavva, Вы писали:
V>Кто как ставит { для цикла for? V>В смысле в этой же строке или отдельно на следующей? V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Самые крутые программеры вообще пишут без всяких {