LINUX.ORG.RU

Да хоть «char * p», неважно. Зависит от coding conventions в конкретном проекте

BlackHawk
()

троленг зощитан.
правильно char *p. потому что указательность атрибутируется переменной *p.
можно например написать char *p, a, b c; указателем будет только p. А запись char* p,a,b,c может ввести в заблуждение что все переменные имеют указательный тип

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

вот поэтому я и спросил Мне кажется, что запись «char* p» более логична - «p - указатель на char»

А когда функция возвращает указатель, если «звездочка» стоит рядом с типом, опять же выглядит как-то более логично

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

правильно char *p. потому что указательность атрибутируется переменной *p. можно например написать char *p, a, b c; указателем будет только p. А запись char* p,a,b,c может ввести в заблуждение что все переменные имеют указательный тип

+1, именно по этой причине

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от lrod

а ты у переменных пиши как выше сказали, а у функций рядом с типом.

Stil ★★★★★
()

И так и так. На С пишут char *p, говоря при этом что p - указатель типа char. На С++ пишут char* p, говоря что p - имеет тип char*.

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

О5 ваши глупые «умозаключения». Если код читает макака, для которой char* p, p1; и char *p, p1; имеют разный смысл, то только в жаву или сишарп.

Меня всегда смешили бездари и if(p) им не пиши, ибо непонятно. И скобочки({}) для тела из одной строки ставь. И запятую не юзай. Указатели не юзай - не поймут. И начинай указатели с p. И вайлов без тела не делай, сложные условия расписывай на 100500строк и т.п.

Одалело, вы откуда вылезли? Если код написан чётко и ясно, то неосиляторство некоторых личностей меня не полнует.

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

Допустим, мне не нравится, когда пишут !p && !p1; так ((!p) && (!p1)); понятние и проще, да и даёт возможность делать хистрые ! до скобочки, изменять часть, не переписывая всё условие - играть с условиями полезно.

Единственная причина для какой-то определённой записи - это красивость. char* p; выбирвается вообще из всей стилистики, ибо пишется пробел либо до и после оператора, либо до, либо вообще проблеы не пишутся. Поэтому объективно записать char* p; для говнорей.

Да и мне больше нравится запись char * p, * p1, * p3; как a + b; А запись *p красива только для разименования, ибо b = * p; не красива, а b = *p; красиво. Да и с ин(де)крементами красивше запись ++(*p); *(++p); *p++; - эта конструкция вообще прекрасна.

Ой как хочется плюнуть в рожу автору, когдая вижу

if(...)
{
...
}
else
{
...
}
вместо
if(...) {
...
} else {
...
}

Или

getx() 
{
return x;
}
вместо
getx() { return x; }

Это вся связано с тем, что в программирование попало слишком много идиотов бездарных. Мышление которых настолько плоско, что они не могут понять смысл оператора из контекста. Выбрать оптимальный стиль записи исходя из контекста. Выбрать оптимальную «парадигму» исходя из контекста и задачи.

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

Банальный пример - есть тысячи применений гото, без которого красивше не сделать, но неосиляторы лучше нагородят 100500 ООПкастылей, чем заюзают гото, ибо это типа не комильфо.

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

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

Ой как хочется плюнуть в рожу автору

Знаешь, мне тоже хочется плюнуть в твою рожу. И не потому, что твой «кодинг-стайл» отличается от моего. Срать я хотел на тебя и на твой кодинг-стайл. А потому, что тебе, видите ли, «Ой как хочется плюнуть в рожу автору».
Что же ты за программист такой, что такие мелочи тебя бесят?
Диванный теоретик? Или просто псих?

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

Понимаешь в чем штука, тут дело не в кодестайле, а в объективной тупости.

Египетские скобки объективно лучше, ибо а) места меньше занимают, б) нагляднее. За говнарьские скобки никаких аргументов, кроме «ололо - я хочу тебе тоже плюнуть» нет.

getx() { return x; } - объективно лучше, понятнее, красивше. Тут даже спорить не надо, а если попробуешь не прокатит. Единственный твой аргумент - это «каждому своё» и типа мне нравится «так». Но все клали на то, что тебе там нарвится. Объективность( хоть и частичная) должна быть в основе.

Из-за таких неосиляторов как ты и появляется течение говн в нашем мире. Кто-то тупо не осилил указатели, а они объективно лучше( быстрее, меньше писать, мильёны всяких хистростей и т.п.). И пошло - «я не юзаю указатели, ибо они мне не нравятся», «чем твоя запись отличается от моей?» и т.п.

Всё это уже проходили, и пока будут такие как ты рядом с сишкой и плюсами - не видать нам покоя. Поэтому вперёд в интерпрайз говно плодить.

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

Зайди в хедеры стла гццешного и ужоснись. Это всё можно было написать красивше и компактней, а сейчас там черт ногу сломит.

Есть классы у которые с десяток методов однострочники. Так они будут на 10строках, а по иному на 40, что конечноже круто. А если методов 20? Конечно 100строк листать намного круче, чем 20. кулстори.

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

лорчую Bad_ptr, крайне адекватный анонимус, кроме скобочек, ёпта

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

getx() { return x; } - объективно лучше, понятнее, красивше.

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

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

Зайди в хедеры стла гццешного и ужоснись

нет, ну я снова лорчую

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

Мышление которых настолько плоско,

Чем ваше мышлении лучше мышления тех говнорей, о которых вы столько написали? То это вам не нравится, то то не нравится. Как девочка в магазине белья.
Есть принятый стиль кодирования в компании или группе, в кторой вы работаете. Вот и используйте его.
Развели тут сопли.

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

Как я писал выше - чуйство пекрасного тебя не спасёт от 3-х лишних строк на метод, хотя если писать в гцц-стл стайле, то ещё куда нешло, как-то так:

getx()
{ return x; }

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

getx() { return x; } - объективно лучше, понятнее, красивше.

Почитайте, что такое «объективно» и «субъективно».

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

Почитай всю месагу и прократи дёргать из контекста. 3 лишнии строчки - объективный минус, который тебя отправляет прямяком в лужу. Чтоб неповадно было.

И да, в сути треда. Объективно относится только к слову «лучше». И как лучше я уже описал. Плюсы объективно лучше, понятнии, красивше. char *(объективно) лучше, понятнее, красивше.

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

И да, в сути треда. Объективно относится только к слову «лучше». И как лучше я уже описал. Плюсы объективно лучше, понятнии, красивше. char *(объективно) лучше, понятнее, красивше.

Одним словом, что такое объективно, а что такое субъективно вы так и не узнали.

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

правильно char *p. потому что указательность атрибутируется переменной *p.

void f(char*);
schizoid ★★★
()

А правильно писать так:

char * p;
char * a;
char * d;
Не тот случай, когда экономия пробела того стоит.

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

а и мне больше нравится запись char * p, * p1, * p3

Лорчую.

Меня всегда смешили бездари и if(p) им не пиши, ибо непонятно. И скобочки({}) для тела из одной строки ставь. И запятую не юзай. Указатели не юзай - не поймут. И начинай указатели с p.

И снова лорчую.

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

Со всем согласен кроме этого.

И скобочки({}) для тела из одной строки ставь.

Скобочки помогают избежать проблем при рефакторинге. Например, типичная проблема бейсика с отступами — отрефакторил код, сменился уровень вложенности, но какая-то строка осталась на месте и вдруг стала принадлежать уже другому блоку, всё синтаксически корректно, но ничего не работает и полдня дебага обеспечено.

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

За объявление переменных «в строчку» расстреливать надо.

LongLiveUbuntu ★★★★★
()

char *p — *p имеет тип char

А то что char* a, b, c делает указателем только первое — баг синтаксиса убогих язычков, а не программиста, которого это может ввести в заблуждение.

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

можно например написать char *p, a, b c

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

может ввести в заблуждение что все переменные имеют указательный тип

всегда удивляло это утверждение

Как по мне, type* p гораздо лучше раскрывает природу p

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

Питонисты смотрят на эту вашу запись как на говно. Если написать соответствующие перделки к редактору, лучше вообще так писать:

if (a == b) {
    do1();
    do2();}
else {
    do4();
    do5();}
PolarFox ★★★★★
()
Последнее исправление: PolarFox (всего исправлений: 1)
Ответ на: комментарий от anonymous

а они объективно лучше

в выстреливании себе в ногу?

быстрее

Мне кажется, что на нынешней ступени развития компиляторы уже (в большинстве случаев) в состоянии сами выполнить нужные оптимизации, при этом проверяя безопасность операций автоматом

меньше писать

если в языке есть нормальные высокоуровневые конструкции - вряд ли, при этом их читабельность вполне может быть выше

Поэтому вперёд в интерпрайз говно плодить.

с удовольствием, а вы продолжайте байтолюбствовать по поводу и без

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

Как я говорил выше - это аргумент неосиляторов. Если у тебя много вложений - код говно, если у тебя 2-3 вложения и ты путаешься где какое - ты говно, а не программист.

Ой, рефакторинг. Это слово у меня вызывает столько ненависти. Единственный вменяемый «рефакторинг» - это переписать, ибо в иных случаях он бесполезен.

Обычно рефакторинг в юных ООПешных умах - это «я вижу некрасивую конструкцию, вникать в её смысл мне лень - я просто заменю её на красивый подходящий аналог». Пусть ломается, пусть нахрен всё падает и неработает. Пусть это их учит вникнуть в суть, а потом уже «рефакторить» нахрен.

Выносите многомерные ифы в инлайн функции. А уж если пациент боится сотни-другой функций, то я даже не буду говорить о нём.

Люди очень часто путают. Есть «законы» для вменяемых людей. И эти «законы» абсалютно вредны для неосиляторов.

Естественно труЪ ахитектура и свободный стиль просто вынесет мозг неосилятору. И для него естественно нужны все эти гайды, стайлы, ограничение функционала.

Для папки всё это вредно, а для не папки полезно и это надо понимать. Звание программиста надо заслужить и программист - это не бабушкин( самопровозглашенный король айти мира)/макака писчая. Если я не осиливаю понимание этой области на уровне примерно папок, то у меня даже мысли не возникает называть себя программистом.

То, что щас себя каждый 2-й говнарь называет программистов. И штаты 99% цехов говна состоят из говнорей, ибо они цехи говноводства. Это не обязывает меня учитывать их неосиляторство.

anonymous
()

кстати, что вспомнил, когда в универе начался C - толком никто ничего не объяснял (когда уже позже перечитал методички, захотелось их скормить автору), потому наличие звёздочки с той или другой стороны меня вводило в заблуждение, суть выяснил практически случайно только года через 3 в разговоре с приятелем за пивом.

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

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

Если у тебя много вложений - код говно, если у тебя 2-3 вложения и ты путаешься где какое - ты говно, а не программист.

При чем тут много вложений или мало? Ты похоже вообще не понял о чем я говорю.

Ой, рефакторинг. Это слово у меня вызывает столько ненависти. Единственный вменяемый «рефакторинг» - это переписать, ибо в иных случаях он бесполезен.

Поздравляю, ты выдал в себя типичного «говнаря»-программиста, о котором сам же и пишешь тут портянки. Как говорится, у кого что болит тот о том и говорит.

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

типичная проблема бейсика с отступами — отрефакторил код, сменился уровень вложенности, но какая-то строка осталась на месте и вдруг стала принадлежать уже другому блоку, всё синтаксически корректно, но ничего не работает и полдня дебага обеспечено.

Поздравляем вас, гражданин, соврамши.

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

Лично сталкивался с проблемой. При наличии операторных скобок такого бы никогда не случилось.

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