Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Относительно BoolToStr


Страницы:   1 2

Павел В. ©   (2010-12-23 17:21:00) 

Сегодня прочитал тему http://www.programmersforum.ru/showthread.php?t=38467, в которой на примере BoolToStr сказано, что создатели VCL - дилетанты. С виду, они правы, можно сделать намного проще. Но, с другой стороны, создатели тоже не дураки и для чего-то написали именно так.

Мой вопрос простой: скажите, кто прав? :) И почему действительно написано именно так?


Юрий Зотов   (2010-12-24 15:24:00) [1]

1. Мистер Квэнди проявил непонимание азбуки, а именно:
 а. Cмысла простейшего кода (пост 1);
 б. Блоков try - except (пост 2).

2. Мистер Квэнди проявил незнание истории, а именно того, что функция BoolToStr появилась на много лет раньше, чем параметры с дефолтными значениями.

И человек с такими знаниями пытается критиковать VCL?

Напрасно. Ох, напрасно он это делает (как и многие другие, кстати).

Впрочем, если его целью является вызвать смех, то он ее вполне достиг.


Anatoly Podgoretsky   (2010-12-24 12:19:00) [2]

> Anatoly Podgoretsky  (24.12.2010 11:21:25)  [25]

Нафиг, нафиг такой волюнтаризм.


Anatoly Podgoretsky   (2010-12-24 11:21:00) [3]

Вот и здесь, не понимает, но туда же резать все нафиг.


turbouser   (2010-12-24 10:52:00) [4]


> sniknik ©   (24.12.10 08:12) [22]
>

Вырвано из контекста. Впрочем, ничего удивительного.


Игорь Шевченко   (2010-12-24 10:50:00) [5]

в VCL/RTL имеются косяки, но что из этого следует ? Да ровным счетом ничего.

BoolToStr/StrToBool реализованы совершенно нормально.

А с тем, что нефиг постить сюда высеры ламерья с других форумов, абсолютно согласен. Местных хватает.


sniknik   (2010-12-24 08:12:00) [6]

> 2) Если код работает хреново, то почему бы и не поменять?
он работает хорошо, именно так как задумывалось, и даже кое где вроде используется (BDE на чем написан?).
не помню уже, и не с BDE связано, но ... в базах/таблицах парадокса вроде можно было писать в гриде F или .F. или False или Нет (локализация) в буленовском поле... вот это оно и есть то зачем так сделано.

т.е. получается "почему бы и не поменять?" основывается не на том, что "работает хреново" (претензий к этому вообще то нет даже в той "обсиральной статье") а на том что автор претензии не смог понять логику (и в справку естественно тоже не заглядывал).
чем то подобное напоминает ветку про юзерский интерфейс который нужно делать так чтобы и дебил бы понял (реальный дебил не желающий ничего знать)... то что такой интерфейс урежет возможностей/функционала любому чуть соображающему пользователю в расчет не берется.


turbouser   (2010-12-24 02:10:00) [7]


>
> Германн ©   (24.12.10 02:05) [20]
>
>
> > Я с тобой спорить не собираюсь.
> > Прими как должное.
>
> Взаимно.

И не сомневался :)


Германн   (2010-12-24 02:05:00) [8]


> Я с тобой спорить не собираюсь.
> Прими как должное.

Взаимно.


turbouser   (2010-12-24 02:02:00) [9]


> Германн ©   (24.12.10 02:00) [18]

Я с тобой спорить не собираюсь.
Прими как должное.


Германн   (2010-12-24 02:00:00) [10]


> 1) Аудит - это не ломать. Оптимизация не помешает.

В данном случае - это ломать. Точнее изменять чей-то код х.з. сколько лет назад написанный и х.з. кем. Проще написать новый, но тогда - аксиома №2.

> Если код работает хреново, то почему бы и не поменять?

А он "работает хреново"? Ни на том форуме, ни на этом таких претензий не было.


turbouser   (2010-12-24 01:50:00) [11]


>  Германн ©   (24.12.10 01:41) [16]
>
>
> > Но ведь аудит, тем более в такой конторе, должен быть.
>  Зачем
> > оставили?
>
> 1. Ломать всегда проще, чем строить. А строить соответственно
> намного сложнее, чем ломать. (Народное - "семь раз подумай,
>  потом отрежь").
> 2. Если код работает, то не надо его менять без особой на
> то необходимости.
> ИМХО это две аксиомы.

1) Аудит - это не ломать. Оптимизация не помешает.
2) Если код работает хреново, то почему бы и не поменять?
в vcl, слава создателю, не пришлось изменений вносить, но вот к сторонним компонентам (dx, fr, eh) - пришлось и не раз.


Германн   (2010-12-24 01:41:00) [12]


> Но ведь аудит, тем более в такой конторе, должен быть. Зачем
> оставили?

1. Ломать всегда проще, чем строить. А строить соответственно намного сложнее, чем ломать. (Народное - "семь раз подумай, потом отрежь").
2. Если код работает, то не надо его менять без особой на то необходимости.
ИМХО это две аксиомы.


turbouser   (2010-12-24 01:35:00) [13]


> Anatoly Podgoretsky ©   (24.12.10 01:31) [14]

:) Но ведь аудит, тем более в такой конторе, должен быть. Зачем оставили? "мы не знаем как, но это работает, так шта нугонафик"? Странно.


Anatoly Podgoretsky   (2010-12-24 01:31:00) [14]

Было разумное предположение, что это закладки на Будущее?
Их довольно много, но не все были доведены до логического конца. Тогда остается непонятный код, чего хотел автор?
И этот код как правило остается навсегда, переходя из версии в версию.
И с этой точки зрения код уже выглядит по другому.


turbouser   (2010-12-24 01:24:00) [15]


> Сергей М. ©   (23.12.10 19:55) [10]

Как ни странно, +1.


turbouser   (2010-12-24 01:23:00) [16]


> Anatoly Podgoretsky ©   (23.12.10 21:35) [11]

А в чем суть и идея? Сэкономить пару байтов в ресурсах? Закладка на Будущее?


Anatoly Podgoretsky   (2010-12-23 21:35:00) [17]

Да нормально написано, а то что некоторые не видят сути и идеи, ну так пусть и вопят дилетанты, Борланду нос утерли.


Сергей М.   (2010-12-23 19:55:00) [18]


> Это отрывок кода из vcl


SysUtils со всеми его "бедами" - это не VCL, хотя и используется этой либой.
Полагаю что многие потроха SysUtils переползли туда из более раннего творчества Борланда, когда VCL еще и в планах не было.


Павел В.   (2010-12-23 19:25:00) [19]

Кстати, RWolf, массивы-таки объявлены глобально, можно добавлять свои значения к стандартным. Вот что написано в справке по  TrueBoolStrs:


> Lists strings that can represent the boolean value true.
>
> Description
>
> TrueBoolStrs is an array of strings that are used in conversions
> between Boolean values and strings. When using the BoolToStr
> function, true values are converted to the first string
> in the list. When using the StrToBool function, any string
> in the list is converted to true.


Получается, не бред вовсе. Хотя согласен, если чем не устроит, можно и свою написать. ...как у Квэнди :D Вот это действительно перл ) Ну что ж, кого что устраивает


Павел В.   (2010-12-23 18:18:00) [20]

Спасибо всем, было интересно слышать ваше мнение. Ну я, в принципе, тоже так подумал, что если массив есть, то он должен использоваться в несколько ином качестве, нежели сейчас. Это отрывок кода из vcl delphi 7, возможно, в следующих версиях там всё перелопатили.


> Плохиш
, спасибо, за всегда информативные комментарии. Я наивно полагал, что ветка "Для начинающих" предназначена для "бредовых" вопросов. Видимо, цитата "(вспомогательная конференция. если вам трудно понять самим, что вам нужно или есть желание и способности помогать новичкам — вам сюда)" ко мне не относится. Ну да ладно...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо