|
Хороший стиль кодирования на С/С++, и готовые программы конвертации в него. |
|
|
|
 |
Ответов
|
Sep 30 2015, 10:46
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
к smalcom и adnega Сейчас применяю Dev-C++ (версия 4.9.9.2) под WinXP, а там возможности скромные по сравнению с другими, т.е. сама не форматирует. Пока хотел бы конвертор тоже какой-то скромный, где входной файл мой, а выходной уже стильный...
к CrimsonPig Загрузил Download Artistic Style 2.05.1 for Windows (441.3 kB), получил c:\AStyle\bin\AStyle.exe, но программа не запускается, оказывается она под Линукс, где у меня не большого опыта.... Хотя пишут for Windows... А стиль мой немного подпорчен опытом программирования МК на С.
к AlexandrY Автоматизация меня бы устроила... Дайте только программу...
к Canis Dirus Скачал GNU Indent и еще попробую ее под FreeBSD, но мне удобней бы по WinXP...
|
|
|
|
|
Sep 30 2015, 13:17
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Serhiy_UA @ Sep 30 2015, 13:46)  к AlexandrY Автоматизация меня бы устроила... Дайте только программу... Что-то я не пойму в чем вы пишите исходники. В Notepad-е? Форматирование в любой стиль поддерживают и Eclipse и Visual Studio и SlickEdit и туча других IDE. Никаких дополнительных приблуд для этого качать не надо. Самый мощный по количеству фичей стилизатор содержит наверно SlickEdit. Там есть и макро язык в котором по одному нажатию можно все дерево исходников стилизовать.
|
|
|
|
|
Sep 30 2015, 19:26
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ Sep 30 2015, 18:08)  Специализированные "приблуды" существуют по причине того, что делают свое дело лучше, чем IDE в которых все все понемногу делают. Не говоря о том, что их работа не зависит от того в какой IDE сейчас кто-то что-то делает. Посему лично у меня к редактору подключены внешние. Хм, я стилизую каждые пару строчек, почти в непрерывном режиме. Непривычный стиль сбивает внимание. Рефакторинг опять же требует повторной стилизации. Здесь как раз стилизация облегчает сравнение версий. А вот стилизация сторонних исходников, особенно в больших проектах затрудняет сравнение версий. Хотя бы тупо потому что скажем все файлы будут фиксироваться как содержащие изменения после стилизации, а файлов может быть сотни. В одной GUI их больше 500. И вот такому горе стилизатору придется в случае проблем проверять вручную сотни файлов. А если оставить их в покое, то реальные отличия версий находятся на порядок быстрее.
|
|
|
|
|
Oct 1 2015, 06:21
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AlexandrY @ Sep 30 2015, 22:26)  Хм, я стилизую каждые пару строчек, почти в непрерывном режиме. Непривычный стиль сбивает внимание. Аналогично. QUOTE Хотя бы тупо потому что скажем все файлы будут фиксироваться как содержащие изменения после стилизации, а файлов может быть сотни. Это будет зависить от того, как строите свою работу. QUOTE И вот такому горе стилизатору придется в случае проблем проверять вручную сотни файлов. А если оставить их в покое, то реальные отличия версий находятся на порядок быстрее. Повторяю: 1) Прогнать можно и вновь пришедшие, можно хранить экземпляр до стилизации. 2) В ручную сравнивать совершенно незачем, ибо есть мощные, умные, понимающие язык сравнилки подддерживающие пакетную обработку. Буквально секундное дело и сравнить и синхронизировать и подредактировать все средствами сравнилки.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 1 2015, 07:16
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ Oct 1 2015, 09:21)  Повторяю: 1) Прогнать можно и вновь пришедшие, можно хранить экземпляр до стилизации. 2) В ручную сравнивать совершенно незачем, ибо есть мощные, умные, понимающие язык сравнилки подддерживающие пакетную обработку. Буквально секундное дело и сравнить и синхронизировать и подредактировать все средствами сравнилки. Что-то не понял. Ситуация: стилизовали пару сотен файлов. Сравниватель файлов покажет что они по датам разные и по содержимому. Тогда вынуждены для каждой пары файлов открывать сравниватель и убедится что они просто отличаются стилем. Хотите сказать, что есть сравниватели которые гарантированно после любого стилизатора могут сказать что сорсы абсолютно одинаковые и юзеру даже не надо их открывать? Что-то сомневаюсь, эти сравниватели должны очень хорошо тогда парсить C-и на уровне проекта и быть очень медленными.
|
|
|
|
|
Oct 1 2015, 09:02
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AlexandrY @ Oct 1 2015, 10:16)  Хотите сказать, что есть сравниватели которые гарантированно после любого стилизатора могут сказать что сорсы абсолютно одинаковые и юзеру даже не надо их открывать? 1)И в ТРНТИЙ раз - при прогоне обеих исходников через стилизатор даже самый тупой сравнитель сможет их сравнить на соответствие. QUOTE Что-то сомневаюсь, эти сравниватели должны очень хорошо тогда парсить C-и на уровне проекта и быть очень медленными. 2) Да, хорошие, в том числе и тот, который называл, парсят на уровне не только Си, но и других языков и НЕ МЕДЛЕННЫЕ никак не медленнее компилятора. Поддерживают сравнение и содержимого директорй. Сравнивают не только исходники, но и PDF (а чего новенького в новой редакции документа появилось).
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 1 2015, 10:53
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ Oct 1 2015, 12:02)  1)И в ТРНТИЙ раз - при прогоне обеих исходников через стилизатор даже самый тупой сравнитель сможет их сравнить на соответствие.
2) Да, хорошие, в том числе и тот, который называл, парсят на уровне не только Си, но и других языков и НЕ МЕДЛЕННЫЕ никак не медленнее компилятора. Поддерживают сравнение и содержимого директорй. Сравнивают не только исходники, но и PDF (а чего новенького в новой редакции документа появилось). Похоже вы не поняли проблемы. Я скачал вашу программу по ссылке. Хоть вы и даете почему-то ссылки только на коммерческие сомнительные продукты. Она делает не намного больше чем умеет Total Commander. Стилизованные файлы отмечает как отличающиеся. Т.е. по сути ничем в описанной мной ситуации не помогает. Приходится вручную! , не силой мысли, не телепатически, а тупо щелкая сотни раз мышью открывать все файлы и проверять их содержимое. Цитата(CrimsonPig @ Oct 1 2015, 13:27)  Ну, реальная жизнь вашими use-case не ограничивается.. Почему же, именно мой use-case вы и привели в пример. Пишете как попало, а потом приводите к единому стилю. И для того это делается чтобы потом было проще сравнивать. Вон в Python отступы вообще являются элементами синтаксиса и все его любят.
|
|
|
|
|
Oct 1 2015, 12:08
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AlexandrY @ Oct 1 2015, 13:53)  Я скачал вашу программу по ссылке. Хоть вы и даете почему-то ссылки только на коммерческие сомнительные продукты. Коммерческие - да. Полагаю, что стабильность и развитие продукта много важнее его бесплатности. На счет "сомнительности" - ну не порите чушь. Я пользують несколько десятилетий добротными, развиваемыми и поддерживаемыми продуктими. Это уже много стоит. QUOTE Она делает не намного больше чем умеет Total Commander. Да ну  QUOTE Стилизованные файлы отмечает как отличающиеся. Стадо слонов-то и не приметили. Там РАЗНЫЕ уровни отличия и разные механизмы сравнения. Отличие, например, в форматировании, комментариях... отмечаются, как несущественные. Хотите - можете игнорировать, можете сразу синхронизировать. QUOTE а тупо щелкая сотни раз мышью открывать все файлы и проверять их содержимое. Ну если в голове только микроскопом гвозди забивать, то тогда да  . А по нормальному сравнение всего дерева директорий, оценка по отметке и расцветке имени файла уровня различий, рассматривание только тех, кто имеет существенные с точки зрения заданного языка различия (текст и навигация по нему тоже размечена в зависимоти от существенности ). В процессе рассатривания синхронизация различий, как индивидуально, так и скопом. QUOTE Почему же, именно мой use-case вы и привели в пример. Я приводил этот пример еще ДО ВАС, как вариант тупого лобового решения. Вополне работает. Претензий нет. Только можно и удобннее. Не гоаоря уже о том, что всякое правило НУЖДАЕТСЯ в исключениях. Я, например, привык места временных решений, или подлежащие дополнительному анализу размещать с нарушением общестильных отступов - достаточно хорошо заметны, но прогонять их через форматтер для последующего "упрощения" сравнения не хорошо будет.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 1 2015, 12:52
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ Oct 1 2015, 15:08)  Коммерческие - да. Полагаю, что стабильность и развитие продукта много важнее его бесплатности. На счет "сомнительности" - ну не порите чушь. Я пользують несколько десятилетий добротными, развиваемыми и поддерживаемыми продуктими. Это уже много стоит.
Стадо слонов-то и не приметили. Там РАЗНЫЕ уровни отличия и разные механизмы сравнения. Отличие, например, в форматировании, комментариях... отмечаются, как несущественные. Хотите - можете игнорировать, можете сразу синхронизировать. Вот ссылка из мануала вашей программы
Как видно программа может сказать только то что файлы отличаются. Никакого парсинга c-и файлов не делает и отличить существенные и несущественные изменения не может. Щелкаю Ignore Unimportant Differences и ничего не происходит, прога не считает пробелы неважным отличием.
|
|
|
|
|
Oct 1 2015, 14:05
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AlexandrY @ Oct 1 2015, 15:52)  Вот ссылка из мануала вашей программы .... Никакого парсинга c-и файлов не делает Спасибо. У меня есть сама программа и я с ней работаю лет двадцать с гаком. И менно ТАК, КАК ОПИСАЛ c ПАРСИНГОМ Cи не только Си файлов. Так-что обсуждать Ваши явные непонимания того, как с ней работать в режиме Rules-based comparsion, как использовать готовые правила под языки и создавать свои, я просто не буду. QUOTE (jcxz @ Oct 1 2015, 16:09)  Ха! Я в таком случае использую спец. маркер - тройной слеш /// (для си, для асм - ;;;) Тоже вариант. Только если в чужих исходниках так отмечать, то мешаются любители использовать разделители ////////////////////////////////////////////////////////////////////////////////  Отступы удобны тем, что у меня в редакторе они меняются для любого существующего блока отступов на хоткее. Очень быстро менять. более существенные перманентые пометки отмечаются тоже на хоткее таким: //zlt[ ..... //]zlt Надо будет и снятие такой пометки сделать на автомате, но лет 20 забываю это написать
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 1 2015, 17:21
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(zltigo @ Oct 1 2015, 17:05)  Спасибо. У меня есть сама программа и я с ней работаю лет двадцать с гаком. И менно ТАК, КАК ОПИСАЛ c ПАРСИНГОМ Cи не только Си файлов. Так-что обсуждать Ваши явные непонимания того, как с ней работать в режиме Rules-based comparsion, как использовать готовые правила под языки и создавать свои, я просто не буду. А, понял в чем ваше тайное знание этой программы. Намекаете на правила и грамматику которые там нужно конфигурировать. Так вот правила для C-и там не работают если пытаться сравнивать разные стили. Или покажите какую грамматику написали вы чтобы эта прога уверенно распознавала разные стили как один и тот же текст.
|
|
|
|
Сообщений в этой теме
Serhiy_UA Хороший стиль кодирования на С/С++ Sep 30 2015, 08:07 smalcom обычно это уже есть в средах разработки и большинс... Sep 30 2015, 08:14 adnega Например, eclipse позволяет определить свой собств... Sep 30 2015, 08:18 CrimsonPig Цитата(Serhiy_UA @ Sep 30 2015, 09:07) Пр... Sep 30 2015, 08:19  CrimsonPig Цитата(Serhiy_UA @ Sep 30 2015, 11:46) За... Sep 30 2015, 10:49   Serhiy_UA Цитата(CrimsonPig @ Sep 30 2015, 13:49) Х... Sep 30 2015, 10:59    CrimsonPig Цитата(Serhiy_UA @ Sep 30 2015, 11:59) Ещ... Sep 30 2015, 11:20             zltigo QUOTE (AlexandrY @ Oct 1 2015, 20:21) Или... Oct 1 2015, 19:55          jcxz Цитата(zltigo @ Oct 1 2015, 18:08) Я, нап... Oct 1 2015, 13:09           ViKo Цитата(jcxz @ Oct 1 2015, 16:09) Ха! ... Oct 1 2015, 15:08            zltigo QUOTE (ViKo @ Oct 1 2015, 18:08) Я задума... Oct 1 2015, 15:37            ae_ Цитата(ViKo @ Oct 2 2015, 00:08) Если буд... Oct 2 2015, 06:49           Dog Pawlowa Цитата(jcxz @ Oct 1 2015, 16:09) "Об... Oct 1 2015, 15:32            jcxz Цитата(Dog Pawlowa @ Oct 1 2015, 21:32) я... Oct 2 2015, 04:02             AlexandrY Цитата(jcxz @ Oct 2 2015, 07:02) Это очен... Oct 2 2015, 05:58              zltigo QUOTE (AlexandrY @ Oct 2 2015, 08:58) А в... Oct 2 2015, 08:19               AlexandrY Цитата(zltigo @ Oct 2 2015, 11:19) Такие ... Oct 2 2015, 08:55                zltigo QUOTE (AlexandrY @ Oct 2 2015, 11:55) А щ... Oct 2 2015, 09:21     CrimsonPig Цитата(AlexandrY @ Sep 30 2015, 20:26) Хм... Oct 1 2015, 10:27 zltigo QUOTE (AlexandrY @ Sep 30 2015, 11:51) Во... Sep 30 2015, 12:45  Serhiy_UA Цитата(zltigo @ Sep 30 2015, 15:45) ...Да... Oct 1 2015, 05:34 Canis Dirus Цитата(Serhiy_UA @ Sep 30 2015, 13:07) Во... Sep 30 2015, 09:45 inventor Цитата(Canis Dirus @ Sep 30 2015, 12:45) ... Sep 30 2015, 15:05 arhiv6 Ещё есть uncrustify. Подобный софт по-русски назыв... Sep 30 2015, 13:13 Lagman Если используется notepad++, то для него есть плаг... Sep 30 2015, 19:12 dxp Ещё забыли достаточно мощную шутку Understand for ... Oct 1 2015, 06:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|