Re[3]: Как избавиться от лишних аргументов
От: DestinyChild  
Дата: 29.09.12 13:41
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Здравствуйте, DestinyChild, Вы писали:


DC>>нахрена в данной ситуации вы даже просто позволили себе подумать[…]?


C>Потому что можем.


можем что? просто написать кучу кода, который компилируется и не падает?
а нафига? это важный вопрос — а на него походу никто ответа не знает)))
в данном случае ничего не надо делать. просто подать пустые переменные,
да не используются, да, место занимают, но:
1. короче чем 3 доп. строки общей длиной в символов 15 вы так и не дали решения.
тока увеличили раз в 10.
2. понимания с первого прочтения новый "расширенный" код не дает. Тока путает.
Кому от этого в этом случае станет легче? никому.
3. к 100% идентично-верному решению не подошел ни один из участников топика,
что означает, что доподлинно никто не знает верного решения, а решение, которое
вы формируете тут на ходу — все в подводных камнях и проблемах. В то время как
решение с доп.переменными 100% рабочее и верное.

Так нафига блоху подковывать, а?
Re: Как избавиться от лишних аргументов
От: ChromY  
Дата: 29.09.12 15:29
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

PMT>Можно ли каким-то образом "избавиться" от "лишних" аргументов функции?


1.Для User-defined, часто используемых и требующих громоздкой инициализации,
сделать производные типы, создающие объекты по умолчанию.
2.Разобраться в логике этих функций и сделать адаптеры для сокращения кода.
Больше никаким образом, и это не связано со спецификой языка.
Re[4]: Как избавиться от лишних аргументов
От: freestyle  
Дата: 29.09.12 15:44
Оценка:
Здравствуйте, DestinyChild, Вы писали:

DC>Здравствуйте, Centaur, Вы писали:


C>>Здравствуйте, DestinyChild, Вы писали:


DC>>>нахрена в данной ситуации вы даже просто позволили себе подумать[…]?


DC>можем что? просто написать кучу кода, который компилируется и не падает?

DC>а нафига? это важный вопрос — а на него походу никто ответа не знает)))
DC>в данном случае ничего не надо делать. просто подать пустые переменные,

Вы очень эмоционально здесь так о всем сразу (эмоции видны по выражениях-усилителей: нахрена, кучу, 100% и т.д.). Просто бы написали, что на ваш взгляд ничего страшного в использовании "dummy" переменных — нет. И, например, я, с этой точкой зрения согласен. Но я не согласен с остальными вашими рассуждениями.

DC>1. короче чем 3 доп. строки общей длиной в символов 15 вы так и не дали решения.

DC>тока увеличили раз в 10.

В худшем случаи, на каждое применение функции foo требуется 3 дополнительных строчки кода. То есть, для 100 применений будет требоваться уже 300 строчек кода.

По этому на мой взгляд — это не аргумент.

DC>2. понимания с первого прочтения новый "расширенный" код не дает. Тока путает.

DC>Кому от этого в этом случае станет легче? никому.

Действительно, то что здесь предлагали используя С++ — глупости. Но не потому что много непонятного кода (это абсолютно неважно, так как его можно скрыть), а потому что решают не ту задачу! Проблема не в том как бы упростить подстановку "dummy" переменной, а в том что функция foo не позволяет "игнорировать" свои параметры.

DC>3. к 100% идентично-верному решению не подошел ни один из участников топика,

DC>что означает, что доподлинно никто не знает верного решения, а решение, которое
DC>вы формируете тут на ходу — все в подводных камнях и проблемах. В то время как
DC>решение с доп.переменными 100% рабочее и верное.

На мой взгляд, другое правильное решение (кроме того что вы предложили) — это передавать в foo NULL или если это невозможно — доопределить foo так что-бы ей можно было передавать NULL.

Но, какое из этих решение нужно использовать — зависит от более детального понимания ситуации проекта PlusMyTwitterFace.
Re[2]: Как избавиться от лишних аргументов
От: Erop Россия  
Дата: 29.09.12 19:58
Оценка:
Здравствуйте, DestinyChild, Вы писали:


DC>Вот ответьте сперва на главнейший вопрос — нафига в вопросе, заданном PlusMyTwitterFace вообще искать какое-то новое решение?

Потому, что оно лучше.
Смотри, например, сюда:
http://users.livejournal.com/_winnie/229311.html

DC>Кто и главное КАК выиграет от нового решения? и в чем?

Код станет проще, понятнее, будет лучше поддерживаться и всё такое...

А если тебя смутила задачка, как сделать так, что бы _ сам разрешался в то, в что надо, то это просто прикольный простенький этюд... К собственно задаче ТС прямого отношения не имеет...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: Как избавиться от лишних аргументов
От: Константин Россия  
Дата: 30.09.12 16:24
Оценка: :)
Здравствуйте, Sni4ok, Вы писали:

К>>Если функция принимает указатель, то она, вроде бы, обязана проверять на ноль.


S>чё за бред, по вашему и strlen на 0 проверяет?


Всё верно. Некоторые кривые сторонние библиотеки этого не делают.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.