Re[14]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 30.07.08 06:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>Ну угадал. Локальные функции рулят Может Хейлсберг когда-нибудь родит что-нибудь подобное в шарпе.

А лямбд не достаточно?
Или это стёб?
Re[23]: Куда девать ф-ции внешние для класса
От: IB Австрия http://rsdn.ru
Дата: 30.07.08 07:26
Оценка: -1
Здравствуйте, adontz, Вы писали:

A>Я такого не говорил, читай внимательнее.

О, уже от своих слов открещивается.
Мы уже победили, просто это еще не так заметно...
Re[19]: Куда девать ф-ции внешние для класса
От: IB Австрия http://rsdn.ru
Дата: 30.07.08 07:38
Оценка: -2
Здравствуйте, Ziaw, Вы писали:

Z>Если мои аргументы кого-то наводят на такие мысли я бы хотел увидеть эти аргументы

Свои же собственные аргументы хочешь увидеть? Я бы тоже хотел, в этом-то и проблема.. =)

Z>и логическую цепочку рассуждений ведущих к вышеизложеной идее.

Да тут полтопика логических цепочек, на вас это не работает, я проверял.

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

Удобно..
Мы уже победили, просто это еще не так заметно...
Re[24]: Куда девать ф-ции внешние для класса
От: adontz Грузия http://adontz.wordpress.com/
Дата: 30.07.08 07:55
Оценка: +1
Здравствуйте, IB, Вы писали:

A>>Я такого не говорил, читай внимательнее.

IB>О, уже от своих слов открещивается.

Исключительно от твоих галлюцинаций. И вообще хватит прыгать на словах, по существу тебе всё равно сказать нечего, а отвечать на твои нелепые зацепки за отдельные слова не интересно.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[25]: Куда девать ф-ции внешние для класса
От: IB Австрия http://rsdn.ru
Дата: 30.07.08 08:59
Оценка:
Здравствуйте, adontz, Вы писали:

A> Исключительно от твоих галлюцинаций.

Ну, я же говорил. Даешь им логическую цепочку, а они называют ее галлюцинацией и уходят от ответа => Логические цепочки не рабтают..

A> И вообще хватит прыгать на словах,

Не, это твоя прерогатива, тут я с тобой тягаться не стану..

A>по существу тебе всё равно сказать нечего,

"Как можно отвечать по существу на чьи-то галлюцинации?" (с) =))

A> а отвечать на твои нелепые зацепки за отдельные слова не интересно.

Было бы не интересно — не отвечал бы..
Мы уже победили, просто это еще не так заметно...
Re[15]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 01.08.08 05:37
Оценка:
Здравствуйте, EvilChild, Вы писали:

IT>>Ну угадал. Локальные функции рулят Может Хейлсберг когда-нибудь родит что-нибудь подобное в шарпе.

EC>А лямбд не достаточно?

В качестве локальных функций? Можно, конечно, но получается криво и косо.

EC>Или это стёб?


Попробуй сам.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[16]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 02.08.08 09:16
Оценка:
Здравствуйте, IT, Вы писали:

EC>>А лямбд не достаточно?


IT>В качестве локальных функций? Можно, конечно, но получается криво и косо.


Видимо я не понял, что понимается под локальными функциями. Можешь в 2х словах излодить своё понимание?
... << RSDN@Home 1.2.0 alpha 4 rev. 1099>>
Re[17]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 02.08.08 17:24
Оценка: 8 (1) +1
Здравствуйте, EvilChild, Вы писали:

IT>>В качестве локальных функций? Можно, конечно, но получается криво и косо.


EC>Видимо я не понял, что понимается под локальными функциями. Можешь в 2х словах излодить своё понимание?


Аналог локальной функции на C# будет примерно такой:

delegate int MyFunc(double, string);

void Foo()
{
    // объявляем
    MyFunc func;
    func = (d,s) =>
    {
        // ...
        return func(...);
    }
    
    // используем
    if (func(2, "3") == 1)
    {
        func(4, "5");
    }
}

Кривостей три:

1. необходимость объявления делегата (хотя в C# 3.0 можно использовать Func<...>),
2. необходимость объъявления локальной переменной,
3. раздельное объявление локальной переменной и самой функции в случае рекурсивного вызова.

Аналогичный код на Немерле выглядит так:

void Foo()
{
    // объявляем
    def func(d,s)
    {
        // ...
        func(...);
    }
    
    // используем
    when (func(2, "3") == 1)
    {
        func(4, "5");
    }
}

В принципе близко, но всё же в C# не хватает законченности решения.

Зачем нужны локальные функции. Как раз чтобы не плодить private методы, что в контексте данного топика приводит к уменьшению связности внутри класса, т.к. декомпозицию кода на уровне метода можно производить не выходя за его пределы.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[37]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 02.08.08 17:30
Оценка:
Здравствуйте, IB, Вы писали:

A>> Таких причин в этом топике было дано много

IB>Таких причин, кроме "удобнее" не было дано ни одной. И это "удобнее" весьма сомнительный аргумент, в первую очередь потому, что еще не известно что удобнее.

Это называется предпочтения. И к ним надо относиться очень и очень внимательно, понимая при этом, что у каждого они свои. Иначе получится как у JetBrains с кнопками F12, back и forward.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[18]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 02.08.08 20:40
Оценка:
Здравствуйте, IT, Вы писали:

IT>1. необходимость объявления делегата (хотя в C# 3.0 можно использовать Func<...>),

IT>2. необходимость объъявления локальной переменной,
IT>3. раздельное объявление локальной переменной и самой функции в случае рекурсивного вызова.

Недостатки несмертельные. Реальный только второй. Хотя немерловый вариант конечно попрямее будет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1099>>
Re[19]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 02.08.08 21:38
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Недостатки несмертельные. Реальный только второй. Хотя немерловый вариант конечно попрямее будет.


Это не недостатки. Это кривизна и извращенство. Как результат, фича практически не используется, кроме тех, кто пользовался ей в других языках.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[20]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 02.08.08 21:57
Оценка:
Здравствуйте, IT, Вы писали:

IT>Это не недостатки. Это кривизна и извращенство. Как результат, фича практически не используется, кроме тех, кто пользовался ей в других языках.

По моему ты драматизируешь. Привёл крайний случай с рекурсией и на его основании делаешь такое сильное утверждение.
Без неё всё выглядит вполне нормально, не хуже Немерля.
... << RSDN@Home 1.2.0 alpha 4 rev. 1099>>
Re[21]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 02.08.08 22:12
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>По моему ты драматизируешь.


Я использую оба языка и вижу, что в Немерле локальные функции сами выскакивают из под "пера". В C# только когда припрёт.

EC>Привёл крайний случай с рекурсией и на его основании делаешь такое сильное утверждение.

EC>Без неё всё выглядит вполне нормально, не хуже Немерля.

Рекурсия как раз наиболее частый случай, когда часть функциональности метода выносится в отдельную вспомогательную функцию.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[22]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 03.08.08 08:07
Оценка:
Здравствуйте, IT, Вы писали:

IT>Рекурсия как раз наиболее частый случай, когда часть функциональности метода выносится в отдельную вспомогательную функцию.

Неужели ты так часто рекурсией в шарпе пользуешься, что тебя это напрягает?
now playing: Robert Babicz — Buffer Expander
Re[23]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 03.08.08 17:48
Оценка:
Здравствуйте, EvilChild, Вы писали:

IT>>Рекурсия как раз наиболее частый случай, когда часть функциональности метода выносится в отдельную вспомогательную функцию.

EC>Неужели ты так часто рекурсией в шарпе пользуешься, что тебя это напрягает?

Почему меня это должно напрягать? Как раз наоборот, рекурсивные алгоритмы неплохая разминка для мозгов, поэтому хочется всё сделать максимально изящно, без кривостей и извращенств.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[24]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 04.08.08 16:09
Оценка:
Здравствуйте, IT, Вы писали:

IT>Почему меня это должно напрягать? Как раз наоборот, рекурсивные алгоритмы неплохая разминка для мозгов, поэтому хочется всё сделать максимально изящно, без кривостей и извращенств.

Я просто подумал, что твоё неудовольствие носит практический характер.
Если только мозги разминать мешает, то ок.
now playing: Super Flu — Momratzn
Re[25]: Куда девать ф-ции внешние для класса
От: IT Россия linq2db.com
Дата: 04.08.08 16:52
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Я просто подумал, что твоё неудовольствие носит практический характер.


Не практический, а эстетический. Грязь в коде — грязь в головах.

EC>Если только мозги разминать мешает, то ок.


А это тут при чём?
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[26]: Куда девать ф-ции внешние для класса
От: EvilChild Ниоткуда  
Дата: 04.08.08 17:11
Оценка:
Здравствуйте, IT, Вы писали:

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


EC>>Я просто подумал, что твоё неудовольствие носит практический характер.


IT>Не практический, а эстетический. Грязь в коде — грязь в головах.


EC>>Если только мозги разминать мешает, то ок.


IT>А это тут при чём?

Так оно мешает в повседневной работе или только при кодировании всяких хитрых штук для развлечения?
now playing: Franklin De Costa — Edgy
Re[11]: Куда девать ф-ции внешние для класса
От: _FRED_ Черногория
Дата: 10.08.08 16:53
Оценка:
Здравствуйте, Lloyd, Вы писали:

Р>>Ты лучше объясни мне, нафига оно надо? Ну, посчитали, и чего с ним

Р>>делать-то? LOC тоже очень хорошо формализировался. Вот только толку от
Р>>него было и есть ноль.

L>Это в основном программеры уверены, что пользы от него ноль. А те, кто использует, придерживается иного мнения.


Пока манагеры считают — флаг им, даже интересно. Но когда начинают требовать заистимэйтить количество строк, которые буду написаны при написании некоей фичи, а потом ещё пристают с тем, почему это так много ошибок в подобных эстимэйтах… ИМХО, начинается дурдом Но это уже оффтопик :о)
Help will always be given at Hogwarts to those who ask for it.
loc
Re[11]: Куда девать ф-ции внешние для класса
От: _FRED_ Черногория
Дата: 10.08.08 17:02
Оценка:
Здравствуйте, IB, Вы писали:

… А

IB>…Сохранятор…


советую запатентовать
Help will always be given at Hogwarts to those who ask for it.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.