Re[8]: Псевдо-экономия
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 26.07.02 08:49
Оценка:
Здравствуйте Mink, Вы писали:

M>Не надо путать общность алгоритма и независимость от особенностей реализации. Сама Microsoft категорически НЕ рекомендует полагаться на особенности реализации и НЕ гарантирует их переход от версии к версии.


Я ничего не путаю. Я сказал, что код этот написан с уклоном, и народ, который его написал, точно знал, что и для чего он это делал. Перечитай.
Алексей Кирдин
Re[6]: Ссылки или указатели?
От: Zilog™ Россия  
Дата: 26.07.02 09:35
Оценка:
Здравствуйте TepMuHyc, Вы писали:

Z>>>>В этом случае надо параметры каждой используемой функции просматривать.

TMH>>>Их в любом случае просматривать надо перед тем как вызов оной функции писать.
Z™>>Я пишу не про написание вызова функции. Я пишу про сопровождение написанного кем то кода.
TMH>Хрен редьки не слаще. Для того чтобы код сопровождать ты его должен ЗНАТЬ. В идеале — знать что делает КАЖДАЯ
TMH>функция. А следовательно просмотреть доку или код данной функции.
В большом проекте знать ВСЕ ВО ВСЕХ ДЕТАЛЯХ просто нереально.

Z>>Просматривая сотни строк кода, постоянное рытье в документации сильно утомляет

TMH>Позволь спросить, а за что тебе зарплату платят? За твои красивые глаза? Или за то что ты код сопровождаешь? Если же тебя так утомляет умственная нагрузка лучше переведись в животноводы...
Позволь спросить, а за что тебе зарплату платят ? За то что бы ты писал код который впоследствии (мало ли, может работу поменяешь) будет очень дорогим в сопровождении ?

TMH>

Z>>надо ведь каждую функцию подозревать в изменении переменных, если где то используется возврат по ссылке.
TMH>Сразу впоминается анекдот: "Слониху изнасиловали — всех подозревают"... Если уж подозреваешь не сочти за труд — Я нехочу ничего подозревать, я просто хочу что бы код был максимально прозрачным. Код который понятен без документации (это не значит что документации быть не должно) намного лучше кода в котором и с документацией разобраться тяжело.

TMH> поставь на этом вызове брекпойнт... или почитай по функции доку.

Хехе, если вызов этой функции (ты еще не знаешь какой) за n строк до места где проявились следствия проблемы ? Или ты предлагаешь в пошаговом режиме всю программу отлаживать ?

Z>>Зачастую самые "умные" куски кода вообще не документируются.

TMH>Преблема ВАШЕЙ корпоративной культуры — это еще не глобальная проблема.
У нас такие проблемы возникают после соприкосновения с ВАШЕЙ корпоративной культурой, одно радует что этих соприкосновений все меньше и меньше, помирают такие культуры.

TMH>>>Теперь тот же пример немного по-другому: SomeFunc(0); — тоже вполне

TMH>>>корректно, а последствия, думаю, очевидны.
Z>>Неужели трудно хотя бы в дебаг версии проверять параметры функции ?
TMH>Только вот заметь, что если аргумент — ссылка, то этого не надо делать ВООБЩЕ.
Сомнительная экономия.

Код должен быть прозрачным, если тебя действительно интересует, почему такой подход содержит проблемы, а мои слова у тебя особого доверия не вызывают, прочитай книжку о которой я выше писал.
Don't work hard, work smart.
Re[6]: Уберите нули и помиритесь
От: Zilog™ Россия  
Дата: 26.07.02 09:59
Оценка:
Здравствуйте Vi2, Вы писали:

Vi2>Здравствуйте Zilog™ и TepMuHyc, вы писали:


Vi2>Я думаю, что можно обсуждать вопросы без проставления нулей, тем более что исходный ответ TepMuHyc не заслуживал такой оценки изначально — он никому не грубил, не хамил, не навязывал свою точку зрения и т.п. Если уж, уважаемый Zilog™, имеете претензии лично к TepMuHyc, то перейдите на личную переписку и выскажите там все.

Я ни имею никаких личных претензий к TepMuHyc, просто в этом вопросе я с ним жестко не согласен, оценил соответственно.

Vi2>То, что вы начали обсуждать — это дело вкуса, принятых в кампании правил и т.п., и тут уж каждый будет считать своё решение единственно правильным.

Просто я описал какие последствия это влечет, а также сказать что бед это принесет гораздо больше чем сулит выгод.
Don't work hard, work smart.
Re[7]: Хорошие манеры в Форуме
От: Vi2 Удмуртия http://www.adem.ru
Дата: 26.07.02 10:17
Оценка:
Здравствуйте Zilog™ и TepMuHyc, Вы писали:

Z>Я ни имею никаких личных претензий к TepMuHyc, просто в этом вопросе я с ним жестко не согласен, оценил соответственно.


Не хотел бы втягиваться в вашу дискуссию, но всё-таки придётся не надолго.

Я не выступаю ни против ваших оценок, ни против вашей полемики — это ваше дело, хоть всё пространство сервера заполняйте. (Хотя его и жалко).

Просто я хотел призвать к голосу разума: в области чувств, вкуса и т.п. споры бесполезны — каждый останется при своём при любом раскладе. Поэтому результатом всей "дискуссии", очевидно, будет финал: Ты-чайник!Сам-такой!, и недовольство вашим оппонентом и т.д.

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

Поэтому я призываю — не прибегать к таким дискуссиям и останавливать других, новичков, в форуме.
Если есть крутые ошибки — доказывайте неправоту! Потому что это доказуемо, а то, что нравится — не нравится, пусть останется за бортом вашего внимания или без комментариев Ты-чайник!.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[8]: Хорошие манеры в Форуме
От: Zilog™ Россия  
Дата: 26.07.02 11:07
Оценка:
Здравствуйте Vi2, Вы писали:

Vi2>Если есть крутые ошибки — доказывайте неправоту! Потому что это доказуемо, а то, что нравится — не нравится, пусть останется за бортом вашего внимания или без комментариев Ты-чайник!.


Какие еще надо даказательства ? Секундомер ?

SomeFunc(a, b, c); // Смотрим документацию, если нет то заголовки.
SomeFunc(&a, b, &c); // Не надо смотреть документацию, заголовки, и так все понятно.
Don't work hard, work smart.
Re[9]: Хорошие манеры в Форуме
От: Zilog™ Россия  
Дата: 26.07.02 11:10
Оценка:
Здравствуйте Zilog™, Вы писали:

Z™>Здравствуйте Vi2, Вы писали:

Vi2>>Если есть крутые ошибки — доказывайте неправоту! Потому что это доказуемо, а то, что нравится — не нравится, пусть останется за бортом вашего внимания или без комментариев Ты-чайник!.


Z™>Какие еще надо даказательства ? Секундомер ?
Доказательства.

Z™>SomeFunc(a, b, c); // Смотрим документацию, если нет то заголовки.
Z™>SomeFunc(&a, b, &c); // Не надо смотреть документацию, заголовки, и так все понятно.
Don't work hard, work smart.
Re[6]: Ссылки или указатели?
От: SergH Россия  
Дата: 27.07.02 05:36
Оценка: 8 (1)
Здравствуйте TepMuHyc, Вы писали:

SH>>3) Документация отсутствует или она очень плоха.

TMH>...Но заголовки-то есть ?

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

SH>>Код, применяющий указатели проще для понимания.

TMH>Ты не забыл добавить ИМХО?

Поскольку то, что я пишу — не божественные откровения, всё это ИМХО. А там где я эго явно ставлю — дважды ИМХО. Так вот, это утверждение — просто ИМХО.

SH>>По-моему с этим спорить трудно.

TMH>Напиши Страуструпу. Он довольно охотно отвечает на умные письма. И с ним даже можно поспорить.
TMH>А вот переспорить — трудновато...

А чего мне с ним спорить? Он со мной согласен.. Я не крутой С++-ник, и Страуструпа читал только "Язык программирования С++" третье издание, на русском языке. Поэтому ссылаюсь на него. Глава 5, параграф 5.8 "Советы". Совет №6: "Старайтесь как можно реже пользоваться простыми (имеется ввиду неконстантыми — SH) ссылками в качестве аргументов функций. См 5.5" В параграфе 5.5 приведены все мои аргументы. Ещё где-то в книжке что-то такое было, но я так сразу не нашёл.

TMH>...Это была преамбуда. Теперь амбула.

TMH>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TMH>То ли ссылки, то ли указатели — зависит от многого — legacy code, корпоративный/командный стиль кодирования, личные предпочтения и т.д. Короче — случаи бывают разные и вариантов много. И все они заслуживают уважения.
TMH>Лично я более склоняюсь к использованию ссылок — считаю это "хорошим тоном" в C++...

TMH>Теперь по "классам":


[skip]

Согласен.

TMH>Но ИМО нормальный C/C++ программер должен быть знаком и свободно оперировать обоими.


Согласен. Это не слишком навороченные концепции, что бы у профессионального С++ программера тут возникали какие-то проблемы. Речь идёт только о том, что сопровождающему программисту (или тебе самому через месяц-другой) будет проще, если перед изменяемыми аргументами будет стоять &, а перед неизменяемыми — нет. (ИМХО) Так действительно удобнее. То, что этого нет в VB и Pascal — минусы этих языков. В них ещё много чего нет. От всего откажемся?
Делай что должно, и будь что будет
Re[4]: &ref = &i4 ?
От: Кодт Россия  
Дата: 29.07.02 07:23
Оценка:
Здравствуйте Vi2, Вы писали:

Vi2>Здравствуйте Кодт, Вы писали:


К>>Отнюдь.


Vi2>У меня VC6.0 генерит ошибку на &ref = &i4;

Vi2>
Vi2>error C2106: '=' : left operand must be l-value
Vi2>


Спасибо!
Выдавливаю из себя ламера по капле
Перекуём баги на фичи!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.