Re[3]: Строчки кода
От: Denis2005 Россия  
Дата: 21.01.06 17:33
Оценка:
Здравствуйте, VladD2, Вы писали:

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


DH>>>
IT>>namespace Rsdn.Janus
IT>>{    
IT>>    /// <summary>
IT>>    /// Счетчик на хотлоге. Будет вызываться при каждой синхронизации
IT>>    /// </summary>
IT>>    public sealed class HotlogCounter
IT>>    {
IT>>        private HotlogCounter() {}

IT>>        public static string HotlogUri =
IT>>            "http://hit2.hotlog.ru/cgi-bin/hotlog/count" +
IT>>            "?" + (new Random().NextDouble() + "7777777777777777").Substring(0,18) +
IT>>            "&s=21251" +
IT>>            "&im=134" +
IT>>            "&r=http%3A//www.rsdn.ru/" +
IT>>            "&pg=http%3A//www.rsdn.ru/ws/janus.asmx" +
IT>>            "&c=Y" +
IT>>            "&j=Y" +
IT>>            "&wh=1152x864" +
IT>>            "&px=32" +
IT>>            "&js=1.3" +
IT>>            "&";
IT>>            skip
IT>>            }
IT>>


IT>>Я папрашу! Может мы, конечно, и читеры, но притензии к самому коду есть?


VD>Да. Он не соотвествует правилам форматирования РСДН. "+" нужно переносить в начале строки, а не оставлять в конце.


Не понятно почему вообще это безобразие "прошито" в код.
На мой взгляд подобной полу-константе (HotlogUri) место в конфигурационном файле.
Re[4]: Строчки кода
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.01.06 20:54
Оценка:
Здравствуйте, Denis2005, Вы писали:

D>На мой взгляд подобной полу-константе (HotlogUri) место в конфигурационном файле.


Конфигурационный файл предполагает изменение без перекомпиляции. Отсюда вопрос — зачем это менять?
... << RSDN@Home 1.2.0 alpha rev. 629 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[5]: Строчки кода
От: Denis2005 Россия  
Дата: 22.01.06 08:47
Оценка:
D>>На мой взгляд подобной полу-константе (HotlogUri) место в конфигурационном файле.

AVK>Конфигурационный файл предполагает изменение без перекомпиляции. Отсюда вопрос — зачем это менять?


Если константа жесткая, то выносить ее за пределы кода ообого смысла не имеет, как например число PI.
Если же константа содержит абсолютную ссылку на какой либо источник данных (например URL/путь к файлу и т.п.), то разумно это вынести за пределы кода.
Допустим "http://hit2.hotlog.ru/cgi-bin/hotlog/count" — не вечен, как и "www.rsdn.ru/ws/janus.asmx". А если у меня разогнан тестовый Web-сервис (www.rsdn.ru/ws_test/janus.asmx), то мне прийдется делать не нужную в данном случае перекомпиляцию.

Как вы считаете такое (LoadLibrary("C:\Projects\RP_LibStorage\ImageConvertor.dll")) в коде приемлемо?
Я считаю что нет!
Re[6]: Строчки кода
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.01.06 11:08
Оценка: +1
Здравствуйте, Denis2005, Вы писали:

D>Если константа жесткая, то выносить ее за пределы кода ообого смысла не имеет, как например число PI.


Это и есть жесткая константа.

D>Если же константа содержит абсолютную ссылку на какой либо источник данных (например URL/путь к файлу и т.п.), то разумно это вынести за пределы кода.

D>Допустим "http://hit2.hotlog.ru/cgi-bin/hotlog/count" — не вечен, как и "www.rsdn.ru/ws/janus.asmx". А если у меня разогнан тестовый Web-сервис (www.rsdn.ru/ws_test/janus.asmx), то мне прийдется делать не нужную в данном случае перекомпиляцию.

1) www.rsdn.ru/ws_test/janus.asmx прописывается в файле конфигурации
2) В том крайне маловероятном случае, когда изменится URL хотлога мы просто выпустим новую версию.

D>Как вы считаете такое (LoadLibrary("C:\Projects\RP_LibStorage\ImageConvertor.dll")) в коде приемлемо?


Нет.
... << RSDN@Home 1.2.0 alpha rev. 629 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[7]: Строчки кода
От: Denis2005 Россия  
Дата: 22.01.06 11:42
Оценка:
D>>Если константа жесткая, то выносить ее за пределы кода ообого смысла не имеет, как например число PI.

AVK>Это и есть жесткая константа.


В данном случае класс HotlogCounter строит URL на основании статических (константных) данных.
Про какую жесткую константу идет речь?
Я бы предпочел вынести весь этот URL-шаблон например в web.config, и потом подставлять значение счетчика.

AVK>1) www.rsdn.ru/ws_test/janus.asmx прописывается в файле конфигурации


Так почему HotlogCounter не получает его оттуда?

AVK>2) В том крайне маловероятном случае, когда изменится URL хотлога мы просто выпустим новую версию.


Новая версия HotlogCounter-а должна выходить только в том случае, если hotlog координально чего-нибудь изменил. Например расширил перечень обязательных параметров, значения которых тоже прийдется генерить в рантайме. На худой конец count стал не числовой.
Re[7]: Строчки кода
От: DEMON HOOD  
Дата: 22.01.06 11:47
Оценка:
Здравствуйте, AndrewVK, Вы писали:

D>>Если константа жесткая, то выносить ее за пределы кода ообого смысла не имеет, как например число PI.


AVK>Это и есть жесткая константа.


он про это и говорит

AVK>2) В том крайне маловероятном случае, когда изменится URL хотлога мы просто выпустим новую версию.

а у меня Янус не упадёт из-за неправильного урла? Синхронизироваться будет? Потому как если не будет — довольно лениво качать несколько мб из-за того, что один урл надо поменять.
silent RSDN@Home 1.2.0 alpha [618] Windows XP 5.1.2600.65536
Re[8]: Строчки кода
От: Andre Украина  
Дата: 22.01.06 12:09
Оценка: +2 -1
Здравствуйте, DEMON HOOD, Вы писали:

DH>а у меня Янус не упадёт из-за неправильного урла? Синхронизироваться будет?


В данном конкретном случае, что бы не случилось с хотлогом, на работоспособности Януса это никак не скажется. Поэтому и смысла выносить этот урл нету.
... << RSDN@Home 1.1.4 beta 7 rev. 467>> :: silent
Я бы изменил мир — но Бог не даёт исходников...
Re[8]: Строчки кода
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.01.06 15:30
Оценка:
Здравствуйте, Denis2005, Вы писали:

D>В данном случае класс HotlogCounter строит URL на основании статических (константных) данных.

D>Про какую жесткую константу идет речь?

Про этот самый URL. Он совсем не предполагает изменение пользователем.

D>Я бы предпочел вынести весь этот URL-шаблон например в web.config, и потом подставлять значение счетчика.


Нет там никакого web.config, это код не веб-приложения.

AVK>>1) www.rsdn.ru/ws_test/janus.asmx прописывается в файле конфигурации


D>Так почему HotlogCounter не получает его оттуда?


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

AVK>>2) В том крайне маловероятном случае, когда изменится URL хотлога мы просто выпустим новую версию.


D>Новая версия HotlogCounter-а должна выходить только в том случае, если hotlog координально чего-нибудь изменил. Например расширил перечень обязательных параметров, значения которых тоже прийдется генерить в рантайме.


Ага. При этом, заметь, нужно менять код всех использующих его страниц, так что такой расклад крайне маловероятен.
... << RSDN@Home 1.2.0 alpha rev. 629 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[9]: Строчки кода
От: Denis2005 Россия  
Дата: 22.01.06 15:55
Оценка:
AVK>Нет там никакого web.config, это код не веб-приложения.

Я описался. Имелся в виду просто некий конфиг-файл.

AVK>Потому что нет никакой необходимости его изменения пользователем.


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

D>>Новая версия HotlogCounter-а должна выходить только в том случае, если hotlog координально чего-нибудь изменил. Например расширил перечень обязательных параметров, значения которых тоже прийдется генерить в рантайме.


AVK>Ага. При этом, заметь, нужно менять код всех использующих его страниц, так что такой расклад крайне маловероятен.


Никакие изменения на hotlog.ru не должны повлечь за собой изменения интерфейса класса HotlogCounter.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Строчки кода
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.01.06 16:41
Оценка: :)
Здравствуйте, Denis2005, Вы писали:

D>То есть предполагается что пользователь будет качать новую версию.


Я предполагаю что этот URL никогда не изменится.
... << RSDN@Home 1.2.0 alpha rev. 629 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[11]: Строчки кода
От: WolfHound  
Дата: 22.01.06 19:00
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Я предполагаю что этот URL никогда не изменится.

А если и изменится то старый по крайней мере еще несколько лет будет obsolete.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Строчки кода
От: IT Россия linq2db.com
Дата: 22.01.06 19:14
Оценка:
Здравствуйте, Denis2005, Вы писали:

D>На мой взгляд подобной полу-константе (HotlogUri) место в конфигурационном файле.


Вот только не надо конфигурационные файлы замусоривать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Строчки кода
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.01.06 09:50
Оценка:
Здравствуйте, OnThink, Вы писали:

VD>>Да. Он не соотвествует правилам форматирования РСДН. "+" нужно переносить в начале строки, а не оставлять в конце.


OT>А Макконел пишет, что незавершённая строка должна выглядеть незавершённой


Полностью согласен с ним. В С-подобных языках строка является завершенной только если в ее конце стоит ";". Так что строку нетрудно будет отличить от завершенной. Но оператор на следующей строке наглядно продемонстрирует, что следующая строка является продолжением предыдущей. Что тоже довольно важно.
... << RSDN@Home 1.2.0 alpha rev. 631>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.