Обновить
-1
0
Александр Басов@AllexIn

Разработка игр, в том числе на Unreal Engine

Отправить сообщение
Например внутренний приказ. Этот внутренний приказ никаких законов не нарушает и нам его предъявлять не обязаны.
Может у них есть и такой приказ:
«Если мимо проезжщающий автобус бибикнул — следует проверить рандомного клиента».
И проверят. И выяснят что данные левые. И грохнут регистрацию. По вполне законным причинам. И уповать на то, что проверка была сделана по воле дурацкого приказа — не вариант. Потому что причины проверки не имеют значения.
Чек вы сохранили. Если не захотят его принимать — велкам в суд. И скорее всего выиграете.
Вы меня заставили задуматься.
Ведь ничего не мешает при сборке под 2008 студию объявить дефайны
#define override
#define final
и в итоге код написанный с учетом этих директив соберется и под старыми компиляторами. При этом под новыми компиляторами можно будет пользоваться полными возможностями компилятора для отлова ошибок этого вида.
Ну ведь это и не спасет от ошибок.
Просто будет написано вот так:
Date theDate = createDate(Day(currentDay), Month(currentDay), Year(currentYear));
Windows Compact 7. Вполне себе актуальная ОС в Enterprise секторе. Разработка только на 2008 студии, например.
Многие проекты компилируются специально на старых сборках компиляторов, чтобы не дай бог чего не сломалось.
Плюс большую часть готового кода никто не будет переводить под новые стандарты.
Так то я с вами согласен, override прекрасно решает эту проблему. Если только нет выше перечисленного.
Это вроде бы С++11, которого много где еще нет.
А типы то как помогут?

есть некий наследуемый метод объявленный традиционно:
virtual void classA::createDate(Year year, Month month, Day Day);

и наследники его во всю наследуют:
virtual void classB::createDate(Year year, Month month, Day Day);


Приходит тим лид, и в классе родители параметры меняются местами:
virtual void classA::createDate(Month month, Day Day, Year year);

а в наследниках мы изменить забыли:
virtual void classB::createDate(Year year, Month month, Day Day);

Разве поможет здесь именование параметров?
Не согласен. Ситуации, когда из метода не понятно что у него за параметры — крайне редка.
Давайте уж говорит откровенно, это — говнокод:
Date theDate = createDate(2, 3, 4);

В реале будет что-то вроде:
Date theDate = createDate(currentYear, currentMonth, currentDay);

Или что-то аналогичное. Цифры вообще в коде встречаются крайне редко. В 99% случаев вместо цифр будет либо константа, либо переменная.
А вот такое:
Date theDate = createDate(Year(currentYear), Month(currentMonth), Day(currentDay));

Читабельности не помогает ну вообще никак, и даже наоборот.

Вот пример типичного(ИМХО) кода. Согласитесь, без именования параметров в каждой строке понятно что передается и зачем:
cLabel* Label = InitWindow(cLabel,panel);
Label->setLeft(0);
Label->setTop(0);
Label->setWidth(panel->width());
Label->setHeight(panel->height());
Label->setVAlign(VA_CENTER);
Label->setHAlign(HA_CENTER);
Label->setCaption(Text);
Label->setColor(cColorf::WHITE);
Label->setFont(«Roboto-Regular.ttf»,fontSize);

Даже не типичный макрос InitWindow разгадывается без особых проблем.
Если хочется «короче» — про builder здесь уже говорили.

По сути почти все примеры, в которых наименование действительно нужно будут весьма ограничены и createDate — чуть ли не самый лучший из них.
Проблема надуманна.
Всегда можно воспользоваться инструментами IDE и получить подсказку, какое имя у параметра, которые в данный момент заполняется.
Разве что вы пишете C++ код в блокноте. Но это не проблем С++ и отсутствия именования переменных.

Вообще, решение отличное! Но только проблемы нету.

someMethod(user1, user2);

Если же объекты неравнозначны, например, метод ставит в подчинение user2 объекту user1, то совсем нелишними будут специальные типы, отражающие роли объектов.

Совсем не лишним будет ООП
user1->someMethod(user2);
Если человек сам не настроен менять ситуацию, то никакой прибор не поможет.
А если настроен, то даже минимальная помощь может оказать положительное влияние.
Слабость/тошнота/головокружение — это уже не чувство голода, а сам голод.
Задача прибора — убрать именно ложное чувство, которое не обязательно говорит о недостатке пищи.
Пневмотранспорт не имеет смысла на маленьких расстояниях ИМХО.
Электрички отменяют, потому что на них не ездят.
Вопрос для ликбеза:
А что плохого в обществе, которые не нацелено на личное общение?
На самом деле интересно, что там такое ужасное ждет человечество в этом случае. Если это не насильственно, если человечество продолжает жить и развиваться, если человечество счастливо… Что плохого?
Ну у меня почти такой же. Alcatel One Touch.
Я им по жизни пользуюсь. Но и смартфон тоже есть. Который я беру с собой, когда выхожу из дома. Мало ли, 2GIS/срочный рабочий вопрос/фотоаппарат.
И воды гораздо меньше.
Принципиально веду все деловые диалоги по почте/скайпу.
Это удивительно, я даже умудрился в прошлом году пол года делать проект по договоренности общаясь с заказчиком исключительно по почте. И ничего, все живы и довольны.
Несколько раз нарушал свое правило из-за крайнего желания заказчика пообщаться голосом… Ну и что? Полчаса он мне ездит по ушам, в итоге весь разговор сводится к двум предложениям текстом. Потому что ни он ни я не имеем возможности прочитать, обдумать, написать краткий и лаконичный ответ. Вместо этого в режиме нон-стоп поток речи, на большую часть пустой, потому что вместо того, чтобы читать доводы и отвечать на них — пытаешься в реальном времени вспомнить все озвученные факты, структурировать их налету и сформировать лаконичный ответ. НЕ получится это. Ни разу я еще не видел, чтобы какие-то более-менее серьезные темы рашались решить голосом.
Что для вас «ширпотреб»?
Для меня слово ширпотреб означает «продукт широкого потребления».
И я, как разработчик игра, мечтаю сделать продукт широкого потребления.
Любая гениальная игра в итоге становится продуктом широкого потребления. К примеру первый X-COM — самый что ни на есть ширпотреб. От него в девяностые тащились все кто мог дотянуться.

Полагаю вы в это слово какое-то другое значение вкладывает, отличное от общепринятого.
ВАЗ и у него и у меня.
Дилер — салон около МРЭО.
Ммм. Гарантия в России — это п…
Собственно, товарищ не так давно купил новую машинку. И на полном серьезе собирается отказываться от гарантийного обслуживания. Потому что автосалоны отмазываются от любого ремонта словами «это не гарантийный случай», требуют проходить плановое ТО только у них, за плановое ТО выставляют нереальные счета в несколько раз превышающие тоже самое ТО у неофициалов. И самое смешное, что делают нифига не лучше, а иногда даже хуже чем неофициалы.

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

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

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность