Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, vdimas, Вы писали: V>Здравствуйте, Ночной Смотрящий, Вы писали: V>>>Любые шаблонные выверты уже рефакторятся без проблем в сколь угодно больших проектах. НС>>Шаблон - штука текстовая. Получить нормальную метаинформацию можно только когда в него параметры подставлены. А до этого возможности по рефакторингу крайне ограничены. V>У шаблона может быть базовый класс, могут быть собственные поля и методы, есть видимость других типов или свободных ф-ий, т.е. по многим вещам "видимость" прекрасная, по крайней мере в том объеме, в каком можно рефакторить генерики дотнета (т.е. в аналогичных сценариях параметрического полиморфизма) - возможности аналогичные. V>Ну и Решарпер С++ в последних версиях выдаёт предупреждение, если в результате рефакторинга у нас может получиться некомпилирующийся код. V>Например, где в дотнете принято при трансформации данных описывать акцессоры "по-месту" (навроде x => x.Y) для каждого уникального x, там в С++ ленивый программист может сделать некий шаблонный getY(x) и тогда, действительно, если у одного из типов переименовать поле Y, то потребуется ручное вмешательство затем. В тех случаях, где код будет написан в стиле дотнета (через лямбду с конкретными выводимыми типами по-месту), необходимых дополнительных действий не будет. V>Понятно, что x => x.Y выглядит тривиально, это был лишь пример. В общем случае "оно" может быть не тривиальным, т.к. именно под нетривиальные объемы кода пишут те самые шаблоны "многоразового применения" - в этом их фишка.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …