![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Относительно BoolToStr
Павел В. © (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, возможно, в следующих версиях там всё перелопатили.
> Плохиш
, спасибо, за всегда информативные комментарии. Я наивно полагал, что ветка "Для начинающих" предназначена для "бредовых" вопросов. Видимо, цитата "(вспомогательная конференция. если вам трудно понять самим, что вам нужно или есть желание и способности помогать новичкам — вам сюда)" ко мне не относится. Ну да ладно...