Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, alpha21264, Вы писали:
A>>Я знаю. Но программы гораздо чаще читаются, чем пишутся.
Pzz>Если написать printf на отдельной строчке, программу не станет сложнее читать. Но зато ее станет проще писать.
Станет сложнее читать. Лишняя строчка потратится. А это значит, что в экран влезет меньше текста.
Во первых это не красиво. Блоки с одной сточкой внутри будут отличаться от блоков большего размера. В однострочных {} будут сливаться, в больших блоках будет разрыв, КМК, это создает визуальный мусор
if (!status)
{ panic("fail");
}
vs
if (!status)
{ log(status, "error message");
panic("fail");
}
К тому же, легко допустить следующую ошибку, допустим изначально было:
if (!status)
{ panic("fail");
log(status, "error message");
}
мы поменяли строчки местами, но забыли про {
if (!status)
log(status, "error message");
{ panic("fail");
}
код скомпилировался, но теперь panic вызвыается всегда
CK>напрямую запрещено стилем кодирования на работе (считаю что хорошая идея)
Это уже похоже на yoda conditionals — да, немного повышает безопасность (будущих изменений), но при этом несоизмеримо бьёт по другим параметрам (лаконичность).
Yoda conditionals используете?
CK> //< теряется на фоне кучи строк содержащих только { или }
CK>
Не теряется, тем более если включено отображение непечатаемых символов.
И при твоём подходе несколько строчек с } не отделённые пустыми строчками всё равном могут быть (несколько уровней в глубину).
Здравствуйте, Varavva, Вы писали:
V>Кто как ставит { для цикла for? V>В смысле в этой же строке или отдельно на следующей?
V>Мне ужасно неудобно и плохо читаемо, когда "{" на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
В студенчиские годы ставил { на той же строке, и был уверен что только так удобно и правильно. Пришел на первую работу,
а там у них на следующей строке ставят и вообще есть внутренний стандарт, который обязывает ставить на следующей строке.
Не представляете как меня это раздражало, но где-то через месяц вдруг привык и стало казаться что ставить "{" надо именно на следующей строке и тлько так удобно и правильно.
Потом сменил я работу, а у них по внутреннему стандарту положено на той же строке ставить.. Как меня это раздражало! Но через две недели привык.
Перешел на другой проект, а там опять на следующе строке ее ставят, ужас!!!
После нескольких таких итераций стало пофигу, к любому стилю привыкаешь где-то за неделю.
Это же относится к вопросу, какого размера делать отступ, пробелы или табуляция, CamelCase или snake_case, и тд.
Главное, придерживаться одного стиля во всем проекте, для этого в начале проекта желательно договориться всей командой о стиле, который будет меньше всего раздражать комманду.
Если надо править уже существующий старый код, то стоит оставить тот стиль в котором он написан.
Лучше его делает не строка, а четкое обозначение тела программы, расположенного между скобками. Благодаря тому, что закрывающая скобка расположена точно под открывающей.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
У простых структур (без конструкторов) тоже оставляю скобку на той же строке.
V>В смысле в этой же строке или отдельно на следующей?
Смысл всегда в оптимальной читабельности.
Скобка, оставленная на той же строке, говорит мне, что речь пойдёт о простом сниппете.
V>Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Это ты не пробовал читать исходники программ, распечатанные на "бесконечной" ленте матричного принтера.
Вот это было действительно удобно.
Тут никакая экономия строк не требовалась.
А 2-3 десятка строк на экране — это заведомо нечитабельно вовсе.
Т.е., эти все трюки можно списать на попытки разместить перед глазами больше осмысленных строк текста.
Здравствуйте, Varavva, Вы писали:
V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
скобцам не понять.
меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.
Здравствуйте, neFormal, Вы писали:
F>скобцам не понять. F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать. F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.
Фигово код написан, если для понимания листать надо. Понимание, что делает функция приходит пошагово и блочно. Вот этот цикл отделяет то от этого, вот это условие — когда то-то. Невозможно обхватить разумом и понять целую страницу напичканную вызовами других функций.
Здравствуйте, Varavva, Вы писали:
V>Фигово код написан, если для понимания листать надо.
да, скобки не нужны. только место отъедают.
V>Понимание, что делает функция приходит пошагово и блочно. Вот этот цикл отделяет то от этого, вот это условие — когда то-то. Невозможно обхватить разумом и понять целую страницу напичканную вызовами других функций.
я код читаю наискосок. и всё понятно.
потому что хороший код можно так прочитать, а вот в плохой приходится вчитываться.
А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?
Вот я понимаю тех кто ставит и там и там, или не ставит нигде. :/
Здравствуйте, neFormal, Вы писали:
V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
F>скобцам не понять. F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной.
Может, они хороши для показа табличек в тексте, но не для кода.
F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.
Здравствуйте, netch80, Вы писали:
N>Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной. N>Может, они хороши для показа табличек в тексте, но не для кода.
враппинг тут ни при чём. код именно вертикально вытягивается, что не несёт никакого смысла.
F>>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору. N>Это к чему?
к тому, что скобки не нужны, поэтому прятать их в египетском стиле — это легко, приятно, исправляет прикус и не сушит попку твоего малыша.