Re[4]: Короткие или длинные исходинки
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.06.05 16:22
Оценка:
Здравствуйте, Xentrax, Вы писали:

X>Ну вот я же и расписал сразу после этой строчки. Конкретный пример: вот у нас есть штук 10 больших файлов по 5000 строк, их постоянно кто-то правит, и все записываются в очередь на чек-ин. Кто-нибудь забывает положить в америке или в японии, мы тогда здесь в москве этот файл додумываем, чтобы компилировалось, и потом люди его забирают через шару.


На вопрос ты не ответил. Все же как размер команды влияет на размер исходников?

5000 строк это где-то 300 кил исхоников. Я вот сейчас глянул ни в одном проекте из доступных мне сейчас таких огромных файлов созданных вручную нет. Есть правда около того, но они все автосгенерированны.

X>Тот же пример с парсерами тут где-то в ветке был. Пока один человек пишет, все нормально, а ну как проект вырастет, наймут еще пару атусорсеров? Фигня получится.


Не нужно мне про парсеры расскзаывать. Я как бы их тоже делал. Нармальный подход тут использование генератора кода. С ним и размеры приемлемые остаются. И разобраться в коде проще. Ну, а самый объемный код (аст и его обработка) прекрасно распихиваются по отдельным файлам.

Так что тут дело рне в размере команды, а в ее качестве.

X>Поэтому серьезный многолетний проект должен состоять из маленьких файлов.


Почему-то мне кажется, что любой проект должен состоять из как можно более маленьких (ну, не до маразма конечно) файлов. И совершенно не важно что за команда. 5000 строк, кстати, перебор для любого проекта. Та же граматика C# из R#-а, со всеми обработками занимает ~3500 строк. А ведь больше будет только в С++.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Короткие или длинные исходинки - Модульный подход
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.06.05 03:50
Оценка:
Здравствуйте, stalcer, Вы писали:
S>А насчет выгрузки. Я нигде не видел такой реализации, ни в Java ни в .Net.
Ну щас прям. В Java классы собираются GC точно так же, как и объекты. В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Короткие или длинные исходинки
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.06.05 03:50
Оценка: +2
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Имхо, большой интерфейс — в большинстве случаев следствие плохого дизайна.
Ну, вообще-то много места может отнимать банальный маппинг на всякие интерфейсы. Разработчики фреймворков страсть как любят декларировать всякие интерфейсы! А ты, если хочешь быть с ними соупотребляем, будешь их реализовывать. Вон, в DevExpress типичный контрол штук десять-пятнадцать интерфейсов реализует. Причем большинство из них — тривиально. Вот как раз эту часть имеет смысл выкинуть в отдельные файлы, т.к. никакой особо осмысленной логики там нет.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Короткие или длинные исходинки
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.06.05 04:10
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Между прочим, при анализе исходников, в "серьёзных классах" ориентироватся гораздо легче, т.к. при разбиении последних обычно получается запутанная иерархическая структура — ад для отладки и производительность обычно ниже.

Снова напоминаю о необходимости бросать плохие среды. Нормальная среда разработки содержит полноценный отладчик, которому поровну количество классов, и полноценный компилятор, который оптимизирует все опять же независимо от количества классов.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Короткие или длинные исходинки
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.06.05 04:10
Оценка:
Здравствуйте, Xentrax, Вы писали:
X>А уж для языка С++ это категорически так.
X>Причем должна быть известна функция ИмяФайла=F(ИмяТипа).
Кстати, важное замечание. Я тоже про это подумал. Хорошо, когда у тебя проект в почти готовом виде, и go to definition работает. А иначе все — труба, запаришься ты разыскивать этот класс.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Короткие или длинные исходинки - Модульный подход
От: stalcer Россия  
Дата: 15.06.05 05:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ну щас прям. В Java классы собираются GC точно так же, как и объекты.


Ладно, может я и нагнал .

S>В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.


Домен не считается. Это все равно, что всю VM выгрузить.
http://www.lmdinnovative.com (LMD Design Pack)
Re[14]: Короткие или длинные исходинки - Модульный подход
От: vdimas Россия  
Дата: 15.06.05 14:54
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.


А в 2.0?
Re[4]: Короткие или длинные исходинки
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 15.06.05 18:39
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

X>>А уж для языка С++ это категорически так.
X>>Причем должна быть известна функция ИмяФайла=F(ИмяТипа).
S>Кстати, важное замечание. Я тоже про это подумал. Хорошо, когда у тебя проект в почти готовом виде, и go to definition работает. А иначе все — труба, запаришься ты разыскивать этот класс.

А что
grep -REl "(class|struct)[[[:space:]]+(\w+\W+)*some_class_name" . | grep ".hpp$"

уже отменили?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Короткие или длинные исходинки
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.05 21:56
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>А что

E>
E>grep -REl "(class|struct)[[[:space:]]+(\w+\W+)*some_class_name" . | grep ".hpp$"
E>

E>уже отменили?
E>)

Давно. А ты не занал?
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Короткие или длинные исходинки - Модульный подход
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.06.05 03:33
Оценка:
Здравствуйте, vdimas, Вы писали:

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


S>>В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.


V>А в 2.0?

В 2.0 вроде можно на лету компилировать специальные делегаты, которые собираются GC без явной выгрузки домена.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Короткие или длинные исходинки
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.06.05 03:33
Оценка:
Здравствуйте, eao197, Вы писали:
E>А что
E>
E>grep -REl "(class|struct)[[[:space:]]+(\w+\W+)*some_class_name" . | grep ".hpp$"
E>

E>уже отменили?
E>)
Не смеши мои тапочки. Современные библиотеки очень любят декларировать классы при помощи макросов.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Короткие или длинные исходинки
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.06.05 08:04
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

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

E>>А что
E>>
E>>grep -REl "(class|struct)[[[:space:]]+(\w+\W+)*some_class_name" . | grep ".hpp$"
E>>

E>>уже отменили?
E>>)
S>Не смеши мои тапочки. Современные библиотеки очень любят декларировать классы при помощи макросов.

Покажи мне, плиз, такие фокусы в библиотеках Qt, ACE и Boost.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[6]: Короткие или длинные исходинки
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 16.06.05 08:04
Оценка:
Здравствуйте, VladD2, Вы писали:

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


E>>А что

E>>
E>>grep -REl "(class|struct)[[[:space:]]+(\w+\W+)*some_class_name" . | grep ".hpp$"
E>>

E>>уже отменили?
E>>)

VD>Давно. А ты не занал?


Не-а.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[16]: Короткие или длинные исходинки - Модульный подход
От: vdimas Россия  
Дата: 21.06.05 10:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


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


S>>>В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.


V>>А в 2.0?

S>В 2.0 вроде можно на лету компилировать специальные делегаты, которые собираются GC без явной выгрузки домена.

Странно
Делегат — это экземпляр полноценного типа (после его автоматического создания). Т.е. GC сможет выгружать типы? Скажем, не имеющие статиков?
Re[17]: Короткие или длинные исходинки - Модульный подход
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.06.05 01:29
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Странно

Угу.
V>Делегат — это экземпляр полноценного типа (после его автоматического создания). Т.е. GC сможет выгружать типы? Скажем, не имеющие статиков?
Не могу сейчас найти; это было в блоге одного из разработчиков по поводу улучшений в новом Reflection.Emit.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Короткие или длинные исходинки - Модульный подход
От: WFrag США  
Дата: 24.06.05 01:46
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Ну щас прям. В Java классы собираются GC точно так же, как и объекты. В .Net единицей деплоймента является сборка, но вплоть до 2.0 можно выгрузить только домен целиком.


Начиная с Java 1.2 классы можно выгрузить только вместе с ClassLoader-ом. То есть по сути ClassLoader получается аналогом домена в данной ситуации.
... << RSDN@Home 1.1.4 beta 6a rev. 438>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.