URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 101286
[ Назад ]

Исходное сообщение
"Google выпустил плагин для форматирования кода в Vim"

Отправлено opennews , 23-Янв-15 12:35 
Разработчики из компании Google анонсировали (http://google-opensource.blogspot.ru/2015/01/format-code-eas...) новый открытый проект vim-codefmt (https://github.com/google/vim-codefmt), в рамках которого подготовлена утилита для автоматической расстановки отступов и форматирования кода с учётом синтаксиса используемого языка программирования. Утилита может использоваться как плагин для обеспечения форматирования кода в редакторе Vim. Поддерживаются две команды ":FormatLines" для форматирования диапазона строк и ":FormatCode" для форматирования буфера целиком.  Обеспечена поддержка языков C++, JavaScript, Protocol Buffers и Go.


Например, при использовании vim-codefmt строк

<font color="#461b7e">
   int foo(int * x) { return * x** x ; }
</font>


будет переоформлена в

<font color="#461b7e">
   int foo(int* x) { return *x * *x; }
</font>


URL: http://google-opensource.blogspot.ru/2015/01/format-code-eas...
Новость: http://www.opennet.me/opennews/art.shtml?num=41524


Содержание

Сообщения в этом обсуждении
"Google выпустил плагин для форматирования кода в Vim"
Отправлено _KUL , 23-Янв-15 12:35 
10 человек, которые пишут код, могут форматировать код 10 вариантами, и ни один из вариантов не может являтся тождественно истинным.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено ананим.orig , 23-Янв-15 12:49 
Да никому и не нужен "истинный" код (это программирование, а не код давинчи).
Нужен единообразный.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено _KUL , 24-Янв-15 02:51 
Че к чему заминусовали. Если человек пишет всю жизнь
test() {
}
То почему его могут заставлять писать
test()
{
}
По мне так, форматирование, это как почерк, имеет право отличаться.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено red , 24-Янв-15 05:37 
если пишешь для себя, то можешь писать хоть
test (
) {
}
а если в проекте даже всего несколько человек, то будь добр, соблюдай принятые соглашения о форматировании. Иначе код превратится в невразумимое нечто.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 24-Янв-15 20:56 
Уважаемые энтерпрайз проектанты, откройте для себя uncrustify, artictic style и им подобных и не мучайте народ :)

"Google выпустил плагин для форматирования кода в Vim"
Отправлено o , 24-Янв-15 09:19 
Профессионал должен моч писать любым почерком. Каким надо таким и писать без проблем и притензий

"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 24-Янв-15 12:30 
Профессионал должен не только моч, но и умет!
Каким притензий надо таким и моч!

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 25-Янв-15 08:53 
не имеет. В нормальных языках прописано как надо форматировать код.
Если ты пишешь только для себя то да, все равно. А если несколько человек пишут то получится мешанина из разных способов форматирования.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено й , 25-Янв-15 17:11 
> По мне так, форматирование, это как почерк, имеет право отличаться.

ага, в большом проекте с кучей людей. и отступы пусть каждый использует, какие привык -- кто таб, кто четыре пробела, кто два, кто пять. а функции myTest1, my_test2 и MyTest3 в одном файле не хотите? да так, чтобы одна из них бросала exception, вторая возвращала return code, третья -- писала в глобальную переменную? индивидуальность программиста же.

увидите как-нибудь такое на практике -- поймёте, зачем создали style guide для проектов.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Softfire , 26-Янв-15 01:12 
> По мне так, форматирование, это как почерк, имеет право отличаться.

Представления не имею, как выглядят почерки моих коллег на работе.
Уже давно предлагать кому бы то ни было рукописный текст - моветон.
Разбираться в чужом почерке также неприятно, как и в нестандартно отформатированном коде.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено angra , 24-Янв-15 08:33 
Не просто единообразный, а именно того вида, что принят в данной команде/сообществе. При этом в другой команде может быть принято совсем другое оформление. Инструмент форматирования должен такое учитывать и позволять гибкие настройки. Пример хорошего форматировщика - perltidy. В пример плохого надо ткнуть пальцем или и так понятно?

"Google выпустил плагин для форматирования кода в Vim"
Отправлено ананим.orig , 24-Янв-15 17:49 
> При этом в другой команде может быть принято совсем другое оформление.
> ...
> Пример хорошего форматировщика - perltidy. В пример плохого надо ткнуть пальцем или и так понятно?

Может пример про трусы не придётся приводить, а?

Есть сабж. В этой команде принято так. И другого нет.
Хочешь — пользуйся. Не хочешь — не пользуйся.
Никто соцобязательств по предоставлению вашего форматирования для вашей же команды (которой вообще нет) на себя не брал.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:00 
Питонист штoле? Альтернативы его пугают.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено hoopoe , 23-Янв-15 12:54 
судя по докам настраивается это чуть меньше чем никак

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:03 
Ну по крайней мере пример из статьи сформатирован единственным верным способом. Если других косяков не будет, это и настраивать не нужно. Интересно как оно многострочные инициализаторы в конструкторах форматирует.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 20:21 
> единственным верным способом
> int* x

Пади подмойса, маня.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:33 
> судя по докам настраивается это чуть меньше чем никак

в этом суть: они хотят одинаковости.
видимо, анализаторы кода делают, ии варганят, etc. ии не умеет разнотипный код читать.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:41 
идиот, анализ кода всегда работает с AST или прочими деревьями.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 17:04 
>ии не умеет разнотипный код читать.

Если тот ии делаете ты - то не удивительно.
А разработчики компилеров сделали который умеет ... что то около 60 лет назад 8-)


"Google выпустил плагин для форматирования кода в Vim"
Отправлено user , 23-Янв-15 13:03 
>int* x

почему не int *x?


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:04 
>>int* x
> почему не int *x?

Потому что * это часть описания типа. Только не надо про int* x, y; - так делают только имбецилы.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:42 
>Потому что * это часть описания типа.

Эта ошибка понимания сути указателей в СИ. Указатель - не новый тип. Данную строку необходимо писать int *x и читать ИКС есть УКАЗАТЕЛЬ на переменную ТИПА int.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:45 
> Эта ошибка понимания сути указателей в СИ. Указатель - не новый тип.
> Данную строку необходимо писать int *x и читать ИКС есть УКАЗАТЕЛЬ
> на переменную ТИПА int.

А void* - указатель на переменную типа void? Не выдумывайте. Переменная - это значение в памяти, у значения есть тип. Этот тип - int*.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:49 
>А void* - указатель на переменную типа void

Именно так, аналогично как функция void fun() возвращает значение void.
>Переменная - это значение в памяти, у значения есть тип.

Перменная это понятие языка программирования и к памяти не имеет никакого отношения.
>Этот тип - int*.

Вас не беспокоит тот факт, что все указатели занимают в памяти 4 байта (8 на 64 битных системах)?


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:59 
> Именно так, аналогично как функция void fun() возвращает значение void

Значение можно присвоить переменной. Присвой, потом поговорим.

> Перменная это понятие языка программирования и к памяти не имеет никакого отношения.

О, даже так. Запущенный случай.

>>Этот тип - int*.
> Вас не беспокоит тот факт, что все указатели занимают в памяти 4
> байта (8 на 64 битных системах)?

Не беспокоит, а вас? Хотите рассказать о том что делаете выводы о типе и семантике по размеру значения?


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:36 
почитайте кернигана и ричи, не напрягайте себе нервный узел лишний раз.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:38 
> почитайте кернигана и ричи, не напрягайте себе нервный узел лишний раз.

Ссылку на конкретное место.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:48 
>Значение можно присвоить переменной. Присвой, потом поговорим.

Переменная может быть определена без данных, см http://en.wikipedia.org/wiki/C_syntax#Incomplete_types

>О, даже так. Запущенный случай.

Запущенный случай это невозможность построить в голове такие абстракции как переменные языков программирования. Сколько памяти займёт в JS переменная x, объявленная как var x = 5?

>Не беспокоит, а вас? Хотите рассказать о том что делаете выводы о типе и семантике по размеру значения?

Размер значения и семантика совпадает, поскольку указатели не имеют никакого отношения к типам данных


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:40 
> Переменная может быть определена без данных, см http://en.wikipedia.org/wiki/C_syntax#Incomplete_types

И?

> Запущенный случай это невозможность построить в голове такие абстракции как переменные
> языков программирования. Сколько памяти займёт в JS переменная x, объявленная как
> var x = 5?

При чём здесь JS?

> Размер значения и семантика совпадает, поскольку указатели не имеют никакого отношения
> к типам данных

Если бы указатели не имели отношения к типам данных, их можно было бы кастовать куда и откуда угодно, например из/к float'ам.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 18:01 
#include <stdio.h>

int main() {
        void *p = (void *)10;
        printf("%f\n", (float)(long int)p);
}


"Google выпустил плагин для форматирования кода в Vim"
Отправлено angra , 24-Янв-15 08:28 
> При чём здесь JS?

При том, что ты не понимаешь, что такое абстракция вообще и "переменные языков программирования" в частности. Вместо JS может быть другой язык, а понятие переменной останется тем же, хотя реализация на низком уровне может отличатся.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Умный , 23-Янв-15 20:55 
>>А void* - указатель на переменную типа void
> Именно так, аналогично как функция void fun() возвращает значение void.
>>Переменная - это значение в памяти, у значения есть тип.
> Перменная это понятие языка программирования и к памяти не имеет никакого отношения.
>>Этот тип - int*.
> Вас не беспокоит тот факт, что все указатели занимают в памяти 4
> байта (8 на 64 битных системах)?

А вас не беспокоит, что вы нихера не знаете, но берете смелость утверждать. Указатель вполне может быть больше 8ми байт, смотря на что он указывает.



"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:51 
Он прав. Но int* x; мне всеравно нравится больше.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:00 
> Он прав. Но int* x; мне всеравно нравится больше.

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


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:51 
>> Он прав. Но int* x; мне всеравно нравится больше.
> Он не прав. А нравится вам потому что хоть вы и не
> знаете основ языка, вам не чужда логика, а в соответствии с
> ней язык и разработан.

Логику разрабатывали бородатые дяди Керниган, Ричи и Томпсон, два первые написали для вас книжку, которую вы не потрудились почитать, при этом учите всех программировать на си!


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:47 
> Логику разрабатывали бородатые дяди Керниган, Ричи и Томпсон, два первые написали для
> вас книжку, которую вы не потрудились почитать, при этом учите всех
> программировать на си!

Это вы её не читали, потому что на конкретное место не укажете. А я-то как раз читал, поэтому сразу говорю что такого бреда там нет.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Пропатентный тролль , 23-Янв-15 16:22 
Как нет? откройте любой пример кода в книге - там везде int *x;

Вот первое попавшееся на стр. 232 (издание с синей обложкой):

Dirent *dp;
DIR *dfd;

это вашего маразма int* x, y там нет и никогда не будет - адекватные люди так не пишут.

Вы наверно ещё и емакс используете? :)


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 17:12 
Воу-воу! Использую емакс, но пишу int *x;

"Google выпустил плагин для форматирования кода в Vim"
Отправлено cr , 23-Янв-15 15:43 
> вам не чужда логика, а в соответствии с ней язык и разработан

А вы не применяйте логику java к C, все и встанет на свои места.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 23-Янв-15 14:13 
С чего, собственно, он прав?
На уровне машинного кода один указатель от другого ничем не отличается.
Поэтому, собственно, С и позволяет менять ему тип.
Тип переменной, на которую он указывает - это просто информация для компилятора, какого размера область памяти должна лежать в этом месте и к какому типу ее приводить при разыменовании указателя.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:44 
> С чего, собственно, он прав?
> На уровне машинного кода один указатель от другого ничем не отличается.

Вы мимо, потому что на уровне машинного кода указатель не отличается также от long и вообще чего угодно что влезает в регистр. В машинном коде вообще нет типов.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 23-Янв-15 17:07 
Однако в машинном коде встречается обращение к памяти по адресу, записанному в регистре.
Если этот набор битов используется в коде так - это не long, а именно указатель.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Vkni , 23-Янв-15 17:43 
> Однако в машинном коде встречается обращение к памяти по адресу, записанному в
> регистре.
> Если этот набор битов используется в коде так - это не long,
> а именно указатель.

Спасибо, поржал. Есть такое словосочетание - адресная арифметика.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 24-Янв-15 01:08 
Ну, хоть какая-то польза. А при чем здесь адресная арифметика? Результат-то все равно потом будет использоваться для доступа к адресованной этим значением ячейке памяти.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Vkni , 24-Янв-15 08:12 
> Ну, хоть какая-то польза. А при чем здесь адресная арифметика? Результат-то все
> равно потом будет использоваться для доступа к адресованной этим значением ячейке
> памяти.

Ну представьте себе, дорогой Тоже, машинный код, описываемый псевдокодом

double z[20] = {.....};
long i;

for( i = 0; i < 20; i++)
    printf( "%ld -> %lf\n", i, z + i);

Как несложно догадаться, согласно вашей логике в последней строке переменная i одновременно имеет числовой тип long, и тип указателя double *.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 24-Янв-15 12:34 
Так. Представил. И в какой машинный код это скомпилируется, тоже примерно представил.
Указатель в этом коде по-прежнему не используется ни для каких иных целей, кроме обращения к адресованной им ячейке памяти.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Ури , 23-Янв-15 22:29 
int* x, y;

И привет логика!


"Google выпустил плагин для форматирования кода в Vim"
Отправлено freehck , 24-Янв-15 00:14 
> Переменная - это значение в памяти, у значения есть тип.

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

К слову, чем поддерживать порочный круг взаимных обвинений в безграмотности, я взялся бы утверждать, что переменная - это сущность, способная менять значение. Этой сущности может быть поставлен в соответствие символ. Символы можно сравнивать между собой в строгом и нестрогом смысле.

(предлагаю желающим продолжить эстафету и изложить здесь элементы структуры и интерпретации компьютерных программ)

:)


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:08 
>>Потому что * это часть описания типа.
> Указатель - не новый тип.

Что ещё придумаешь?

6.2.5.20, Pointer type


"Google выпустил плагин для форматирования кода в Vim"
Отправлено 888 , 23-Янв-15 17:47 
>необходимо писать int *x и читать ИКС есть УКАЗАТЕЛЬ

Чепуху написали. икс это имя указателя, а указатель с именем x на переменную типа int как раз и будет int* x. Если не понимаете, подставьте вместо икса собственное имя и подумайте.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 18:08 
> Чепуху написали. икс это имя указателя, а указатель с именем x на
> переменную типа int как раз и будет int* x. Если не
> понимаете, подставьте вместо икса собственное имя и подумайте.

Всё верно, только int *x


"Google выпустил плагин для форматирования кода в Vim"
Отправлено 888 , 24-Янв-15 23:37 
Вот поэтому вы в гугле и не работаете. xD Правда, я тоже.
Но мне хоть не придётся для использования этого плагина переучиваться.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено cr , 23-Янв-15 14:46 
> Потому что * это часть описания типа

Курите ISO/IEC 9899, пункт A 2.2. Там указано, часть чего это.

> Только не надо про int* x, y

Надо-надо. Была бы * частью описания типа - семантика такого объявления была бы другой.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:41 
>> Потому что * это часть описания типа
> Курите ISO/IEC 9899, пункт A 2.2. Там указано, часть чего это.
>> Только не надо про int* x, y
> Надо-надо. Была бы * частью описания типа - семантика такого объявления была
> бы другой.

Грамматика языка к системе типов не относится ну совершенно никак.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено cr , 23-Янв-15 15:45 
А кто говорит про систему типов? В треде обсуждается грамматика, а именно синтаксис объявлений.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 25-Янв-15 08:26 
>Грамматика языка к системе типов не относится ну совершенно никак.

Самое смешное сообщение на опеннете за последнюю неделю.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:37 
> >int* x
> почему не int *x?

скорее всего потому, что так пишет Поттеринг.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:07 
http://www.stroustrup.com/bs_faq2.html#whitespace

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 16:00 
> http://www.stroustrup.com/bs_faq2.html#whitespace

Правильно. /thread


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 23-Янв-15 17:11 
Компилятору-то действительно пофиг, а вот программисты обычно не любят читать что-нибудь вроде:
for(--c;n<c;*L-c?L[*a[++*L]+=32]=1:swap(a[1],a[*((*a=strchr(a[n],0)-1)+L[**a]-1)-*a[++n]?rand()%c+(n=1):1]));

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 18:17 
> http://www.stroustrup.com/bs_faq2.html#whitespace

A ``typical C programmer'' writes ``int *p;'' and explains it ``*p is what is the int'' emphasizing syntax, and may point to the C (and C++) declaration grammar to argue for the correctness of the style. Indeed, the * binds to the name p in the grammar.

Ну не верно же!


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 18:28 
Все верно.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 24-Янв-15 22:32 
The choice between "int* p;" and "int *p;" is not about right and wrong, but about style and emphasis. C emphasized expressions; declarations were often considered little more than a necessary evil. C++, on the other hand, has a heavy emphasis on types.

A "typical C programmer" writes "int *p;" and explains it "*p is what is the int" emphasizing syntax, and may point to the C (and C++) declaration grammar to argue for the correctness of the style. Indeed, the * binds to the name p in the grammar.

A "typical C++ programmer" writes "int* p;" and explains it "p is a pointer to an int" emphasizing type. Indeed the type of p is int*. I clearly prefer that emphasis and see it as important for using the more advanced parts of C++ well.

http://stackoverflow.com/questions/6990726/correct-way-of-de...


"Google выпустил плагин для форматирования кода в Vim"
Отправлено АнонимЪ , 23-Янв-15 13:15 
А чем оно лучше clang-format для C++?

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:26 
> А чем оно лучше clang-format для C++?

Или uncrustify. Оно вообще настраивается как угодно.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено ананим.orig , 23-Янв-15 13:39 
> Оно вообще настраивается как угодно.

Очевидно гуглу не нужно "как угодно".
Им нужно как у них принято.
Ваш КО.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 13:43 
>> Оно вообще настраивается как угодно.
> Очевидно гуглу не нужно "как угодно".
> Им нужно как у них принято.
> Ваш КО.

-> конфиг для uncrustify.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Штунц , 23-Янв-15 14:11 
вот как надо форматировать

int foo(int* x)
{
   return *x * *x;
}


"Google выпустил плагин для форматирования кода в Vim"
Отправлено тоже Аноним , 23-Янв-15 14:17 
Форматировать надо так, чтобы минимизировать время понимания кода и вероятность ошибок.
Все остальное - не каноны, а просто способы. Даже если это способ от самих K & R.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 15:45 
Только как в новости либо так:

> int foo(int* x) {
>    return *x * *x;
> }


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 16:20 
В этом формате не будет работать [[

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:23 
в стандартной поставке clang-format есть гугловский стиль, кстати очень удобный, и плагин для vim.

в стандартной поставке Go есть средство форматирования кода и, опять же, плагин для vim.

Резюме: в Гугле у кого-то резко обострился NIH-синдром.


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:43 
этот плагин исключительно для тех людей, что код пишут только так, как показано в первом варианте:
> int foo(int * x) { return * x** x ; }

для них проще плагин наклепать, чем их переучить.
потому и наклепали.

тут важно другое: что за программисты в гугле работают, что им такие плагины нужны и что способны "* x** x" выдать?


"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 23-Янв-15 14:54 
а ничего что vim это умеет из коромбки на основе настраиваемого indent? Выделяем код и нажимаем кнопку "="

"Google выпустил плагин для форматирования кода в Vim"
Отправлено cr , 23-Янв-15 15:34 
Встроенный индент уже умеет что-то кроме (внезапно) индентации?

"Google выпустил плагин для форматирования кода в Vim"
Отправлено svlasov , 23-Янв-15 15:36 
Торматирует только в стиль гугла? Есть более полезный инструмент http://astyle.sourceforge.net/astyle.html который позволяет привести к любому стилю. И соответсвующий плагин https://github.com/Chiel92/vim-autoformat Наверное и Go ему можно скормить.

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Пользователь Debian , 23-Янв-15 19:32 
Не надо ей Go скармливать: к счастью, у него есть фиксированный стандартный формат и утилита для него: http://blog.golang.org/go-fmt-your-code

"Google выпустил плагин для форматирования кода в Vim"
Отправлено waker , 23-Янв-15 15:42 
в анонсе написано, что javascript умеет. на самом деле:


:FormatCode
Not available. codefmt doesn't have a default formatter for this buffer.

это у меня руки из Ж, или анонс врет?


"Google выпустил плагин для форматирования кода в Vim"
Отправлено к , 26-Янв-15 23:07 
плагину нужна эта тулза, сейчас он просто неправильно ругается на её отсутсвие
http://clang.llvm.org/docs/ClangFormat.html

Подробности:
https://github.com/google/vim-codefmt/issues/16


"Google выпустил плагин для форматирования кода в Vim"
Отправлено waker , 27-Янв-15 11:01 
спасибо

"Google выпустил плагин для форматирования кода в Vim"
Отправлено Аноним , 26-Янв-15 04:41 
vim-autoformat? https://github.com/Chiel92/vim-autoformat