karlicos 14.02.2011 19:36
Есть вопрос! — [Решено] Различные стили кода в Vim
Я пишу код на C++ с египетскими фигурными скобками - то есть так:
1 |
|
Преподаватель по C++ хочет, чтобы каждая скобка была на новой строке(это вроде ANSI стиль), то есть так:
1 |
|
Проблема в том что, во первых, уже привык писать египетские, а во вторых, что vim при переносе строки после "if (something)" автоматически делает табуляцию, то есть надо жать backspace и уже потом набирать "{". Вопрос собственно состоит в том, чтобы либо какие опции надо оставить чтобы перенос скобок был заточен под ANSI(сейчас стоят smartindent и autoindent). А еще лучше, если кто-нибудь подскажет команду чтобы она перенесла все фигурные скобки в конце строки на следующую строку. Заранее спасибо :)
Вопрос решен благодаря lava - можно просто набирать фигурную скобку, не нажимая перед этим backspace.
И asqz подсказывает, что для форматирования целого файла (в том числе и для переноса скобок) идеально подойдет утилита astyle.
lava 14.02.2011 19:46 #
+ 3 -
А попробуй просто набрать фигурную скобку, не нажимая предварительно бэкспейс.
А я предпочитаю вот так:
if (codition) {
dummy++;
}
else if (another_condition) {
dummy--;
}
else {
dummy += 10;
}
Стиль со скобками на отдельной строке хорош тогда, когда нужно автоматизированно собрать прототипы всех функций. Тогда это делается простым грепом, и не надо дополнительно обрезать скобку в конце строки.
для форматирования целого файла (в том числе и для переноса скобок) идеально подойдет утилита astyle
для переноса скобок на следующую строку использовать astyle с параметром --brackets=break
Когда я учился, то преподаватели требовали чтобы программы работали и чтобы студент смог объяснить принципы её работы. Как-то на оформление всем пофиг было.
Оформление важно, когда много программистов работает над одним кодом.
Да бога ради, никто не спорит, что в командной работе важен единый code style. Но тут, если я не ошибаюсь, речь идёт не о коллективной разработке, а о чуток другом.
Приучать к грамотному стилю надо с детства. Тем более универская программа не даст всех знаний о языке - только основы. А вот форматирование - это как раз одна из основ.
Другой вопрос, что Я считаю несколько неправильным пинать именно за какой-то отдельный стиль. Если бы ТС вообще не форматировал код, тогда да, был бы смысл преподу заморачиваться, а так, если уже у человека присутсвует культура программирования, лучше заострял бы внимание на других вещах.
Другой вопрос, что Я считаю несколько неправильным пинать именно за какой-то отдельный стиль. Если бы ТС вообще не форматировал код, тогда да, был бы смысл преподу заморачиваться, а так, если уже у человека присутсвует культура программирования, лучше заострял бы внимание на других вещах.
Я тоже немного не понимаю, зачем навязывать стиль. Казалось бы, главное чтобы код нормальный был, в едином стиле и с отступами.
Наверно Чтобы преподавателю было проще\быстрей проверить код.
Нас учили только табуляцию правильно выполнять, иначе препод даже не смотрел код=) (но это на самом деле правильно, ато порой такой бороды напишут, что сам черт ногу сломит=D
Нас учили только табуляцию правильно выполнять, иначе препод даже не смотрел код=) (но это на самом деле правильно, ато порой такой бороды напишут, что сам черт ногу сломит=D
Попробуй поиграться с astyle. Потом из vim'а сможешь форматировать, например:
:%!astyle --mode=c --style=ansi -s2
сделает переоформление в ANSI-стиле.
:%!astyle --mode=c --style=ansi -s2
сделает переоформление в ANSI-стиле.
Не для вимеров, но в нетбинс есть автоформатирование кода по шаблону.
В настройках программы можно выбрать шаблоны (анси в том числе), можно их под себя подправить. Затем когда прогу пишешь - жмем пкм-форматировать и все норм=)
В настройках программы можно выбрать шаблоны (анси в том числе), можно их под себя подправить. Затем когда прогу пишешь - жмем пкм-форматировать и все норм=)