LINUX.ORG.RU

Underscore VS CamelCase


0

2

Что по вашему лучше читается, смотрится, воспринимается в коде.

1.

int MoveSuperCar;
float SpeedSuperCar;
2.
int move_super_car;
float speed_super_car;
3.
int movesupercar;
float speedsupercar;


Ну и комментарии не оставим без внимания:
1.
//TITLE
/////////////////////////
int movesupercar; //description
2.
//Title
//=======================
int movesupercar; //Description
3.
//TITLE
int movesupercar; //Description

Можно свои варианты, пусть о них узнает человечество.

Итак, что по вашему лучше, какие стили написания не любите и почему, какие страшные стили вам доводилось видеть?



Последнее исправление: LoveGnome (всего исправлений: 2)

>Нижний слэш

Слеш бывает прямым и обратным: /, \. Нижнего слеша не бывает.

заглавные буквы

int MoveSuperCar;

Это называется upper CamelCase, вообще-то.

gentoo_root ★★★★★
()

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

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

>> Лиспер штоле?

Тролль. Нет, мне просто нравится такой стиль. Применяю только в шелл-скриптах.

GotF ★★★★★
()

Нравится 2-ой стиль, но приходится пользоваться 1-ым.

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

Неправильно пишешь, надо так:

/*
 * Любимец публики отправляется на отдых в теплые страны (на время отпуска)
 */

the_body *who = get_body("Eddy_Em"); // Выбираем отпускника
drag_to_hell(who, 30, "days");       // И отправляем на месяц погреться
printf("I'll be back!\n");           // :)

Eddy_Em ☆☆☆☆☆
()

Прочти первую главу Кернигана и Пайка «Практика программирования», и эти (и некоторые другие) вопросы будут для тебя решены.

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

код возврата не проверил, может недостаточно места в аду. и что означает true?

marvin_yorke ★★★
()
Ответ на: комментарий от Eddy_Em
/*
 * Любимец публики отправляется на отдых в теплые страны (на время отпуска)
 */

the_body *who = get_body("Eddy_Em"); // Выбираем отпускника
-- drag_to_hell(who, 30, "days");       // И отправляем на месяц погреться
++ drop_to_hell(who, 30, "days");       // И отправляем на месяц погреться

printf("I'll be back!\n");           // :)
fluorite ★★★★★
()
Ответ на: комментарий от Eddy_Em

Небольшая поправка:

printf("I need a vacation!\n");   // А персонаж тот же  :)
OldFatMan
()

ИмяКласса имя_метода имя_переменной

/** а док-комментарий нужно писать там, где его распознает инструмент */

tailgunner ★★★★★
()

2. 2.
Так приучили, да и мне кажеться наиболее практичным.

rigiy ★★
()

Если код пишется и читается с участием подсветки синтаксиса, то особой разницы между 1 и 2 нет.
По идентификаторам: в 3 варианте, имхо, каша.
По комментариям: главное — не увлекаться чрезмерно такими забористыми разделителями. Им место только где-нибудь в шапке. А в остальном коде лучше уж пустыми строками разбавить.

Самое сложное, на мой взгляд, это придерживаться одинакового стиля во всём проекте :)

blexey ★★★★★
()

>Нижний слэш
Лимбо слэш FIXED.

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

>Самое сложное, на мой взгляд, это придерживаться одинакового стиля во всём проекте :)

Согласен.

LoveGnome
() автор топика
MyClass class;
MyClass *another_class;
class.method_1();
another_class->method_2();

...
void MyClass::method_1()
{
     int i = 0;
     double d = 0.;
     std::string s;
     i = (_class_some_property++) + d;
     return;
}

как то так. коментарии нигде не пишу. называю переменные и ф-и по их действию. Например:

MainWidget::show_about_window()
MainWidget::quit_app()
Device::do_connect()
Device::do_disconnect()
Data::do_save()
Data::is_altered()
Data::do_load()
Не пишу методы и ф-ии длинее 200 строк + не делаю более одного действия в одной ф-ии (одна ф-я - одно действие, без побочных эффектов).

mi_estas
()

camelCase, в QtCreator есть удобное дополнение по начальным буквам слов.

например QPuB<Tab> QPushButton, QLEd - QLineEdit, QChBo - QCheckBox

anonymous
()

camel case с маленькой буквы

invy ★★★★★
()

moveSuperCar в интерфейсах, move_super_car внутрях и move-super-car в лиспах.

staseg ★★★★★
()

CamelCase для Java/JavaScript, underscore для python, html, css. underscore как-то более привычен, т.к. еще со времен васика в школе пошло.

xpahos ★★★★★
()

CamelCase vs snake_case vs totaluebancase

aedeph
()

Поправил название.

LoveGnome
() автор топика

Ты сейчас, сам того не желая, стравишь флейм C vs C++.

thesame ★★★★
()

а вот еще животрепещущий вопрос, кто как ставит пробелы возле звездочек и амперсандов у ссылок/указателей?

1.

void *ptr;
2.
void* ptr;
3.
void * ptr;

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

>кто как ставит пробелы возле звездочек

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

Хотя если влезаю в код в котором по второму варианту все (такой вариант встречается наиболее часто), продолжаю в том же духе не меняя на свои пристрастия.

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

ну 1 как бы очень сионистически, но плюсофилы зачастую используют 2, какбы намекая что это такой тип*, а это вот отдельно имя_переменной.

я тут недавно начал писать стопятьсотый нафик никому ненужный скриптовый яп на плюсах :3, по 10 раз на дню переделывал эти ссаные пробелы у *&, решил оставить вариант 1. ладно хоть к отступам в стиле K&R у меня любофь, над этим голову ломать не пришлось

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

ну 1 как бы очень сионистически

Это чем же?!! О_О Впервые слышу такое любопытное определение.

Я так приучен с первого дня кодинга на С.

но плюсофилы зачастую используют 2, какбы намекая что это такой тип*, а это вот отдельно имя_переменной.

Угу, угу... видел и слышал такие «обоснования».

Вот только столь же часто встречал записи такого рода:

int* pint, pint1, pint2;

авторы которых совершенно искренне считали, что и pint1, и pint2 - это тоже указатели.

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

OldFatMan
()

Раз уж тема зашла о стиле вообще - то как бы вы записали следующее:

1.

int sex;
sex = masha+(saha/vasya);

2.
int sex;
sex = masha + ( saha / vasya );

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

2.

Но здесь я не настолько категоричен. :)

Иногда приходится писать, как в 1.

Разумный выбор по ситуации/контексту рулит.

OldFatMan
()

underscore — для локальных переменных и экземпляров классов, короче для id, которые будут использоваться в коде.
camelсase — для классов и прочей логики.
Лисперы недоумевают над твоим (в)опросом.

kermzyxer
()

Либо camelCase/CamelCase, либо дефисы (сам их не использую, но смотрится красиво). Подчёркивания некрасивы. Ну про третий вариант я думаю понятно, почему он ужасен.

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

> смотрится красиво
я бы не сказал: йцуйцу_йцуйцу горазде легче читается, чем йцуйцу-йцуйцу
суть в том, что - раз в 5 быстрее набирать, чем _

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

Лисперы недоумевают над твоим (в)опросом.

А что в нем такого? Напротив я считаю, тема актуальна, и полезна, недооценивать стилистику не стоит, можно накатать так код, что без бутылки водки не разобрать.

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

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

Ну это всё-таки индивидуальные предпочтения. Меня подчёркивания раздражают и легче не читаются.

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