Re: С# 3.0
От: ie Россия http://ziez.blogspot.com/
Дата: 03.10.05 11:23
Оценка:
Написал такой Extension:
    static class StringExt
    {
        public static bool IsEmpty(this string str)
        {
            return (str == null || str.Length == 0);
        }
    }

Юзаю во всю, красота:
    param.IsEmpty();

А потом подумалось: если раньше глядя на такой код, ты можешь быть уверен, что в в случае param == null вылетит NullReferenceException, то теперь эта уверенность пропадает. С одной стороны "ООП всегда! ООП везде! ООП на радость нам!", а с другой стороны, какой-то не правильный ООП получается
Превратим окружающую нас среду в воскресенье.
Re[3]: С# 3.0
От: IT Россия linq2db.com
Дата: 03.10.05 11:26
Оценка: :))) :))) :))) :))) :)
Здравствуйте, AndrewVK, Вы писали:

AVK>P.S. Слева направо: Хейлсберг, я.


Фотошоп?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: С# 3.0
От: GlebZ Россия  
Дата: 03.10.05 12:10
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Вы бы им там сказали, что писат select в конце запросы — это по меньше мере странно (это я про квари компрехэншон).

Все програссивное теловетчество наоборот, плачет из-за того что select находится впереди, а не позади from. Приходится вторым проходом проверять семантику селекта, потому как низзя узнать семантически что же здесь хотели юзвери без полей из from.

С уважением, Gleb.
Re[3]: С# 3.0
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.10.05 13:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вы бы им там сказали, что писат select в конце запросы — это по меньше мере странно (это я про квари компрехэншон).


Там, если копнуть поглубже, странного намного больше. На самом деле как SQL он только выглядит на совсем простых запросах. А как чего посложнее с участием нескольких таблиц, так больше начинает смахивать на эдакий гибрид sql и xpath (а в васике вобще, уроды, в запросе xml используют).
... << RSDN@Home 1.2.0 alpha rev. 617>>
AVK Blog
Re[2]: С# 3.0
От: Alexey Axyonov Украина  
Дата: 03.10.05 14:01
Оценка:
Здравствуйте, ie, Вы писали:

ie>Написал такой Extension:


А зачем?

string.IsNullOrEmpty(str);


не подходит?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Re[3]: С# 3.0
От: ie Россия http://ziez.blogspot.com/
Дата: 03.10.05 14:44
Оценка: :)
Здравствуйте, Alexey Axyonov, Вы писали:

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


ie>>Написал такой Extension:


AA>А зачем?


AA>
string.IsNullOrEmpty(str);


AA>не подходит?


Ну это пример такой. Могу другой придумать...
... << RSDN@Home 1.1.4 stable rev. 510>>
Превратим окружающую нас среду в воскресенье.
Re[4]: С# 3.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.10.05 15:26
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Все програссивное теловетчество наоборот, плачет из-за того что select находится впереди, а не позади from.


Можно пальцем на это "Все програссивное теловетчество"?

GZ>Приходится вторым проходом проверять семантику селекта, потому как низзя узнать семантически что же здесь хотели юзвери без полей из from.


Это ты про проходы людских глаз? Или ты беспокошся за эффективность компиляторов? Если, за последнее, то лучше не беспокойся. У компиляторов проблем нет. Они один хрен сначала AST создают.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: С# 3.0
От: alexeiz  
Дата: 03.10.05 17:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>P.S. Слева направо: Хейлсберг, я.


Re[4]: С# 3.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.10.05 00:30
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Там, если копнуть поглубже, странного намного больше. На самом деле как SQL он только выглядит на совсем простых запросах. А как чего посложнее с участием нескольких таблиц, так больше начинает смахивать на эдакий гибрид sql и xpath (а в васике вобще, уроды, в запросе xml используют).


Дык это то понятно. Все же иерархические запросы, хотя как я понял из примеров и джоины там есть как в старом SQL и вообще все очень даже похоже.

Но select сздани — это полнейший изврат. Читашь и чувствуешь себя дебилом. А вся аргументация про области видимости выглядит просто смешно, да и в Жлабэйсике то сделали по человечески.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: С# 3.0
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.10.05 00:30
Оценка: :)
Здравствуйте, ie, Вы писали:

ie>Написал такой Extension:

ie>
ie>    static class StringExt
ie>    {
ie>        public static bool IsEmpty(this string str)
ie>        {
ie>            return (str == null || str.Length == 0);
ie>        }
ie>    }  
ie>

Скажи, а выделенные скобки — это чтобы возврат из функции не дай бог не выполнися раньше чем вычисление выражения?

Кстати, можно было бы просо:
string.IsEmtyOrNull(str == null || str.Length == 0)


ie>А потом подумалось: если раньше глядя на такой код, ты можешь быть уверен, что в в случае param == null вылетит NullReferenceException, то теперь эта уверенность пропадает. С одной стороны "ООП всегда! ООП везде! ООП на радость нам!", а с другой стороны, какой-то не правильный ООП получается


+1
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.