Перейти к публикации
  • Сейчас на странице   Всего пользователей: 4   (0 пользователей, 4 гостя)

Rooster

Программирование[10]

Перепись  

313 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

nobodies написал 11 минут назад:

 

Достаточно дорого очко продал, или снова на чай не хватает?

Достаточно дорого, на чай хватит. Очку от этого не легче(

nobodies понравилось это

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
Гость
(изменено)

Учился на программиста (компьютерная инженерия, дропнул после 1 года), но выбрал путь шиза. Правильно ли я поступил?:roflanebalo: Вместо РАБоты - пенсия по шизе и 24/7 отдых, жаль, что всего 5к рублей...:pepehands:


Изменено пользователем Гость

Поделиться сообщением


Ссылка на сообщение

Что мешает будучи шизом продавать очко быдлокодером?

 

Но будь осторожен, этот год сделали годом науки, и чисто случайно умерли Ацюковский и Рыбников.

 

Если есть своя хата, то лучше жить на 5к и иногда подрабатывать, почти всё твоё время будет свободно.


:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение
Vova написал 3 часа назад:

Тоже нельзя потому что с точки зрения языка без конст тоже самое тупо 1 в 1 и тк меньше текста то предпочтительнее

 

 

Vova написал 3 часа назад:

тк меньше текста то предпочтительнее

Так "предпочтительнее", или "нельзя"? Видишь, ты сам незнаешь даже.

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

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

 

 

Kant написал 4 часа назад:

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

 

Ну мы о другом немного, не плюсерам не понять кекс.

В плюсах можно передать (грубо) двумя способами пераметр.

Первый это by value, ты передаш в метод копию, например

void pomenyal(int x)
{
x = 99; // BAGA, NIHUA NE POMENYAL. DLYA VIZIVAUSHEGO x OSTANETSA NEIZMENII
}

 

Второй это by reference, ты передашь ссылку на параметр:

void pomenyal(int &x)
{
x = 99; // VSE OK, POSLE VIZOVA TOKOY FUNCTION X STANET 99
}

 

Так вот, в первом случае (by value), с точки зрения внешнего челока интерфейс гарантирует что его объект НЕ поменяет. Никогда. Стоит там конст, не стоит. Ваще похую, насрать.

А вот во втором (by ref, &), уже важно. Если там стоит const, например"int const &x", значит он его НЕ может поменять тоже. А если не стоит, то может очевидно.

 

Так вот, еще в С++ есть declaration (объявление) и definition (определение).

И тут появляется загвозка. Если функция получает аргумент by value (копию), то объявлении и определении НЕ обязан const квалифай совпадать. Тоесть, может быть написан следующий валдиный код:

void jump(int heigh);

void jump(int const height)
{
	do_jump(height);
}

void jump2(int const heigh);

void jump2(int height)
{
	do_jump(height);
}

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

 

Вот и мы срем о том нужно ли в декларации const писать если ты пишешь в имплементации или нет


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
Vova написал 4 часа назад:
GoldRobot написал 4 часа назад:

Clion ворнинг даст если в декларации есть конст, а в имплементации нету.

 

Можешь пруфануть?

 

Еще интересно если в декларации нет а в имплементации есть

image.png.16326b3a9fa7fd90f55fff1d26c200d5.png


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 1 минуту назад:
Vova написал 4 часа назад:
GoldRobot написал 4 часа назад:

Clion ворнинг даст если в декларации есть конст, а в имплементации нету.

 

Можешь пруфануть?

 

Еще интересно если в декларации нет а в имплементации есть

DJVA3nz.png

 

Дык я не понял

 

Ты прочел вообще что тебе IDE говорит

 

Он тебе говорит ровно что я - const не имеет смысла в декларации тк действует только в дефиниции

 

Что и требовалось доказать собственно

GoldRobot написал 6 минут назад:

Поэтому я пишу так, я мерюсь на себя и забочусь о других читающих мой код

 

Ты так и не ответил КАК ЭТО ПОМОГАЕТ ЧИТАТЬ ТВОЙ КОД бля


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение

 

GoldRobot написал 8 минут назад:

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

 

Вот и мы срем о том нужно ли в декларации const писать если ты пишешь в имплементации или нет

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

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 15 минут назад:

Так "предпочтительнее", или "нельзя"? Видишь, ты сам незнаешь даже.

 

Классная демагогия пошла


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Vova написал 13 минут назад:

Ты так и не ответил КАК ЭТО ПОМОГАЕТ ЧИТАТЬ ТВОЙ КОД бля

ЭТО ПОМОГАЕТ В ДЕКЛАРАЦИИ УВИДЕТЬ ЧТО ИМПЕЛЕМЕНТАЦИЯ НЕ МЕНЯЕТ ВАЛУЕ ТЫ ТУПОЙ?


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Загуглил. Clion наоборот подчеркнёт жёлтым такие const 

И clang tidy выдаст варнинг, что они не нужны: readability-avoid-const-params-in-decls 


Изменено пользователем besteady

 

9Aa4jVY.jpeg

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

так-то вова прав во всей этой хуйне))

какая разница что там в имлементации. я вот этого не понимаю.

если удовлетворяет интерфейсу (входные значения и выходные) мне лично похуй что там чел делает внутри метода.


Изменено пользователем JuJeu

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

Зашёл почитать элазора. Поржал с отрицания контейнеров и умных указателей и при этом допустимости передачи простых типов по константной ссылке.

 

ps по поводу спора - Вова прав. Нет смысла упарываться в конст.

Поделиться сообщением


Ссылка на сообщение
JuJeu написал 13 минут назад:

какая разница что там в имлементации. я вот этого не понимаю.

 

Ну вот ты говно код вована будешь править. Тебе будет разница что там он наговнокодил, или нет?

Вот то-то и оно.


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
E1azor написал 4 часа назад:

const size_t &N

Зачем тут реф?


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
GoldRobot said 6 minutes ago:
JuJeu said 19 minutes ago:

какая разница что там в имлементации. я вот этого не понимаю.

 

Ну вот ты говно код вована будешь править. Тебе будет разница что там он наговнокодил, или нет?

Вот то-то и оно.

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

это что-то из разряда не использование автоматического type inference. в том же TS некоторые эксплицитно указывают тип переменной, хотя TS это автоматически за них делает.

меня калит мутирование стэйта, которое нужно отслеживать в говнометоде на 100+ строк.


Изменено пользователем JuJeu

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
Eternhot написал 1 час назад:

Учился на программиста (компьютерная инженерия, дропнул после 1 года), но выбрал путь шиза. Правильно ли я поступил?:roflanebalo: Вместо РАБоты - пенсия по шизе и 24/7 отдых, жаль, что всего 5к рублей...:pepehands:

 

 

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

Поделиться сообщением


Ссылка на сообщение
JuJeu написал 5 минут назад:

это что-то из разряда не использование автоматического type inference. в том же TS некоторые эксплицитно указывают тип переменной, хотя TS это автоматически за них делает.

 

Не сильно понял как это с конст в декларации связано. Ребята вы в целом путаете декларацию и интерефейс. Вы почему-то думете что предекларация это автоматом интерфейс, это нифига не так.

 

Ну и это, какойнить auto не всегда полезен. Читаеш код, а там auto auto auto atuo с полями класса в методе. И ты не понимаешь какой контент то у переменых, пока не перечитаешь определение полей класса и в хуевом случае еще класса полей класс, потому что там написано auto vasya = cheloveki.get_cheloveka(). Вот кто этот вася? Че может?

Я сам конечно везде авто юзаю, но натыкался не единожды когда в чужом коде хотелось бы авто видеть поменьше :pepethink:

 


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 25 минут назад:
JuJeu написал 34 минуты назад:

это что-то из разряда не использование автоматического type inference. в том же TS некоторые эксплицитно указывают тип переменной, хотя TS это автоматически за них делает.

 

Не сильно понял как это с конст в декларации связано. Ребята вы в целом путаете декларацию и интерефейс. Вы почему-то думете что предекларация это автоматом интерфейс, это нифига не так.

 

Ну и это, какойнить auto не всегда полезен. Читаеш код, а там auto auto auto atuo с полями класса в методе. И ты не понимаешь какой контент то у переменых, пока не перечитаешь определение полей класса и в хуевом случае еще класса полей класс, потому что там написано auto vasya = cheloveki.get_cheloveka(). Вот кто этот вася? Че может?

Я сам конечно везде авто юзаю, но натыкался не единожды когда в чужом коде хотелось бы авто видеть поменьше :pepethink:

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

https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/base/time/time.cc

Да и вообще, мой тебе совет - завязывай ты с этими констами. Это не то, ради чего стоит спорить. Ставить их стоит только в очевидных местах, типа передачи по константной ссылке или именовании числовой константы, а в остальных местах тебе никто спасибо не скажет за них. Просто если ты член класса объявишь const, то первое что приходит в голову "это он просто так объявил это констом и модификатор можно убрать или же это что-то важное и если сделаешь изменяемым - все сломаешь нахуй". Поэтому просто так делать констом не нужно. А в твоем споре ты хочешь сделать констом чисто для души.

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 25 минут назад:

Просто если ты член класса объявишь const, то первое что приходит в голову "это он просто так объявил это констом и модификатор можно убрать или же это что-то важное и если сделаешь изменяемым - все сломаешь нахуй".

Тоесть ты пишешь так, что если не конст, то я в любой момент имею возможность все изменить или что? Ну нахуй бля.

Конст ставят не для "души", как ты выразился, а что бы у тебя физически небыло возможности факапнуть поменяв значение. Если получение по валуе я еще могу понять, то про поля ты зря так. Я бы хотел читать код в котором параметры host и port в классе Connection константными были. Чем молиться что челик не факапнул и не мувнул денить строку по референсу.

 

Grohuf написал 32 минуты назад:

Вот тебе пример файла одного из базовых классов хромиума

 

std::ostream& operator<<(std::ostream& os, ThreadTicks thread_ticks) {
  const TimeDelta as_time_delta = thread_ticks - ThreadTicks();
  return os << as_time_delta.InMicroseconds() << " bogo-thread-microseconds";
}

Я вижу конст даже в просто временной переменной, в функции на 3 строчки. Ты уверен что этот файлик является валидным аргументом говорящим что использовать конст низя?


ward написал 04.01.2022 в 02:54:

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

mazt3r написал 20.09.2019 в 11:27:

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

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал Только что:

Я вижу конст даже в просто временной переменной, в функции на 3 строчки. Ты уверен что этот файлик является валидным аргументом говорящим что использовать конст низя?

Я тебе приводил пример для констов передачи по значению. Как ты видишь, thread_ticks констом не объявлена.

const внутри функции - это дело разработчика как писать. То есть если ты вдруг не поставишь, то на ревью вряд ли кто-то обратит внимание, вряд ли кто-то кто будет модифицировать код на это обратит внимание и вообще НИЧЕГО не произойдет, если ты вдруг не поставишь. Но если поставишь, хуже не будет. В таких простых случаях понятно для чего стоит const.

Вообще, есть привычные паттерны, типа

for (const auto& elem : element_list) {

где отсутствие конста бросается в глаза, но в остальных случаях честно, всем НАСРАТЬ. Ты обращаешь внимание, на ненужную хрень. Гораздо важнее, когда const стоит для того, чтобы неправильно не воспользовались классом.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...