LINUX.ORG.RU

[C,C++] Партизанская нотация


0

0

У меня сложилось впечатление, что стиль программирования «а-ля Linux» - н-р, some_fucking_function(), присущ только «партизанам» - программистам OpenSource и т.п (не всем, конечно). Везде во всех интерпрайзах, которые я видел, было нечто в стиле Java, в стиле из книги Макконнелла - SomeFuckingFunction() или someFuckingFunction(), причем это, ясное дело, касается не только именования функций, а и всего остального: начиная от переменных и заканчивания дженериками и классами.

Я одинок с этой мыслью?

★★
Ответ на: комментарий от bk_

>не в коем разе не юзать кнопку шифт вообще

У лисповцев наверное какая-то особая, элитарная раскладка, где скобки набираются без шифта.

winlogon
()

Потому что в системный сишный софт левые люди не полезут.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от winlogon

дворак же

Каюсь, про скобки забыл.

bk_ ★★
() автор топика
Ответ на: комментарий от winlogon

есть компромисс: some_Fucking_Function()

Дело житейское, хитро...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от bk_

>Не юзать шифт в лиспе, а в С вместо "-" использовать шифт+"-" => «_»

На этом моменте как раз и теряется вся прелесть лисповских "-": там не надо нажимать на доп. кнопку.

Corey
()
Ответ на: комментарий от Corey

Зато раздувается ЧСВ читабельность.

bk_ ★★
() автор топика
Ответ на: комментарий от bk_

>Напечатать какашкин код

Я, конечно, так категорично заявлять не буду, но соглашусь с тем, что читать some_long_and_very_boring_names гораздо удобнее именно с подчеркиваниями.

Corey
()
Ответ на: комментарий от Corey

Это точно. И, не боясь повториться, повторю, не боясь тавтологии, тавтологичное заявление: как пишутся имена файлов, так и функции называть надо.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Corey

Я именно это и сказал тем постом

просто в более жесткой форме.

bk_ ★★
() автор топика
Ответ на: комментарий от Eddy_Em

Я в именах файлов вместо «_» пишу "-".

bk_ ★★
() автор топика
Ответ на: комментарий от wfrr

> а как вы объясните столь неадекватный стиль кодирования предложенный гвидо?

Объяснять тебе, неадекватное жывотное? Шел бы ты в лес.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Объяснять тебе, неадекватное жывотное? Шел бы ты в лес.

Не обижай белку. Она ещё пригодится нам в суровую зиму. Корми её хорошо.

bibi
()
Ответ на: комментарий от bibi

> Не обижай белку.

Выфер так долго и тщательно создавал себе образ недекватного животного, что я бы обижал его, если бы относился к нему иначе. Так что я единственный, кто относится к нему реально уважительно :)

tailgunner ★★★★★
()
Ответ на: комментарий от Corey

О, мой великий психопатолог, объясни мне, почему у меня по пьяни заплетык языкается? Да еще и крысы сейчас по рабочему столу бегают, и мое пиво пьют? (кстати, Розка вообще оборзела, присосалась так, что и не оторвешь).

Eddy_Em ☆☆☆☆☆
()

Странно, что никто не вспомнил про то, что во времена появления C на свет компиляторы его не различали регистр переменных и, как следствие, underscope был вынужденной мерой для повышения читаемости.

Т.е. snake_style - oldschool и Ъ, CamelCase - для метросексуальных кодеров с маникюром.

rebarned
()
Ответ на: комментарий от rebarned

CamelCase - для метросексуальных кодеров с маникюром.

Хай им...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от rebarned

> во времена появления C на свет компиляторы его не различали регистр переменных

Различали.

snake_style - oldschool и Ъ, CamelCase - для метросексуальных кодеров с маникюром.

CamelCase немногим младше Си, и уж точно старше тебя :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Разве? ЕМНИП, в K&R было про это, но у меня его нет сейчас.

Я пользуюсь CamelCase и ohmygodwtf, и не претендовал на бородатость и умудренность :)

rebarned
()
Ответ на: комментарий от rebarned

> Разве? ЕМНИП, в K&R было про это, но у меня его нет сейчас.

Идентификаторы всегда различались по case. Но, из-за ограничения линковщиков, во внешних именах case часто не различался (и длина внешних имен тоже могла быть ограниченной).

Я пользуюсь CamelCase и ohmygodwtf, и не претендовал на бородатость и умудренность :)

Ну ты сказал oldschool только про snake-case :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Благодарю за пояснение.
А case-insensitivity я, видимо, взял из фортрана и кобола, ещё во времена перфокарт. Нет lower case - нет и sensitivity.

Ну да, не говорить же «а CamelCase пользуются только ссзб, потому что я так хочу»? :)

rebarned
()
Ответ на: комментарий от fat_angel

> pep8. Там черным по белому написано

Ага, только многие кладут на этот pep8. В итоге в рамках одной библиотеки порой можно обнаружить и someFunction, и some_function и даже somefunction.

Hjorn
()
Ответ на: комментарий от rebarned

не говорить же «а CamelCase пользуются только ссзб, потому что я так хочу»? :)

Кому как нравится, тот так и пишет. Очень бы хотелось Егора Летова процитировать, но не буду.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от bk_

> Почему не было ни одного поста о гениальности принятого стиля в Lispe

Лисповый стиль самый приятный, факт. Но мало где доступен.

Hjorn
()
Ответ на: комментарий от Eddy_Em

Кому как coding conventions текущего проекта говорит, тот так и пишет.
Или пишет как нравится, но уже менеджеру проекта относительно изменений этих conventions.
Иначе Летова, а также Пушкина и Маяковского, будут цитировать уже писателю.

rebarned
()
Ответ на: комментарий от jtootf

> bondage and discipline language, да. с нынешними программистами иначе и нельзя

Прежде чем подвергать «нынешних программистов» дисциплине, вы их заманите сначала :D

tailgunner ★★★★★
()
Ответ на: комментарий от rebarned

> Я пользуюсь CamelCase и ohmygodwtf

ohmygodwtf

Да, это самый шик. Обожаю подобные идентификаторы в чужом коде... Мозготрах обеспечен, даже Перл не нужно доставать :)

Hjorn
()
Ответ на: комментарий от Hjorn

Нет, шик - это такие ohmygodwtf-style с именами на runglish, да ещё и несущими некую смысловую нагрузку.

rebarned
()
Ответ на: комментарий от rebarned

Иначе Летова, а также Пушкина и Маяковского, будут цитировать уже писателю.

Пусть Пушкина с Маяковским цитируют.., а Летова не трогайте. Есенин, кстати, тоже очень красиво высказывался насчет русской души...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от jtootf

> bondage and discipline language

Да, хаскель суров. Я помнится в первом хеловорлде больше всего времени потратил на правильную расстановку отступов :) Зато красиво получается, да... Жаль, что я быдлокодер и дело далеко не пошло. На императивщине с фигурными скобочками как то удобней быдлокодить.

Hjorn
()

C: struct SomeStruct, double some_double, void someFunction().

C++: class SomeClass, double some_double, void someFunction(). Использую префиксы m_ (для членов классов, если это не C-style структура), а также (для Qt) signal_ и slot_.

Всегда стараюсь использовать понятные имена.

bool is_active, bool isActive(), int num_of_something, double m_resistivity, void setResistivity(double resistivity), double resistivity() { return m_resistivity }.

Эти простые вещи очень помогают.

Linux style, если честно, немного бесит, например эта часть:

LOCAL variable names should be short, and to the point. If you have some random integer loop counter, it should probably be called «i». Calling it «loop_counter» is non-productive, if there is no chance of it being mis-understood. Similarly, «tmp» can be just about any type of variable that is used to hold a temporary value.

Obey-Kun ★★★★★
()
Ответ на: комментарий от Hjorn

>> Почему не было ни одного поста о гениальности принятого стиля в Lispe

Лисповый стиль самый приятный, факт. Но мало где доступен.

О чём речь, где почитать?

Obey-Kun ★★★★★
()
Ответ на: комментарий от Obey-Kun

> C++: class SomeClass, double some_double, void someFunction(). Использую префиксы m_ (для членов классов, если это не C-style структура), а также (для Qt) signal_ и slot_.

алсо justanothernamespace (примеры — qfgui, qfcore)

Obey-Kun ★★★★★
()
Ответ на: комментарий от winlogon

>g_ptr_array_ - префикс, означает что функция относится к классу GPtrArray.

Я недавно размышлял на тему имён переменных и пришёл к выводу, что всякие 'g_' и т.п. префиксы идеологически неправильны, т.к. получается в одну сущность (название переменной/функции/т.п.) помещаются избыточные данные (характеристики). И правильно было бы отображать эти характеристики каким-то специфическим способом (не знаю, может цветом или значком или как ещё). Кто-ть встречал реализации таких идей?

anonymous
()
Ответ на: комментарий от anonymous

>отображать эти характеристики каким-то специфическим способом (не знаю, может цветом или значком или как ещё). Кто-ть встречал реализации таких идей?

любая уважающая себя IDE может. Хоть значками, хоть цветом, хоть запахом

thesame ★★★★
()
Ответ на: комментарий от thesame

>любая уважающая себя IDE может

1. Например?
2. Если могут, по почему все пишут код с этими префиксами?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.