Тема открыта по просьбе жителей Королевства и посвящена обсуждению вопросов оптимизации кода. Выставляйте свои лучшие и худшие тексты и не стесняйтесь их обсуждать. В споре рождается истина. Или, по крайней мере, оптимизация.
Всего в теме 737 сообщений
Добавить свое сообщение
Отслеживать это обсуждение
- Тестирование проекта. Отладка.
- Подводные камни
- Централизованная обработка ошибок
- Бета-тестирование
- Давайте учиться на ошибках.
- Почему программисты допускают ошибки?
- Автоматизированные тесты для GUI
- О системах контроля ошибок
№ 657 15-05-2009 13:06 | |
Ответ на »сообщение 656« (Комбриг)
___________________________
Будьте внимательнее - SomeFunc^:=10 там написано вне тела функции SomeFunc, поэтому заменить SomeFunc на Result здесь нельзя.
№ 656 15-05-2009 12:32 | |
Ответ на »сообщение 653« (Geo)
___________________________
У меня рука бы не поднялась такой кошмар написать...
Я бы написал
Result^ := 10
и всё было бы понятно и очевидно.
№ 655 15-05-2009 11:22 | |
>>>Ну, например, "Можно, но не нужно..."
Отчего же? Вроде ничего криминального нет, регулярно такие конструкции используются, только вот функцию назвать надо как-то более читаемо, дабы было понятно, что это функция :)
Кстати, подобный код по идее оптимизируется лучше, нежели присвоение сначала переменной, а потом ее разыменование.
№ 654 14-05-2009 02:20 | |
Ответ на »сообщение 653« (Geo)
___________________________
>>> а в какую тему написать, я не придумал.
Ну, например, "Можно, но не нужно..." ;)
№ 653 14-05-2009 01:41 | |
Just for fun!
Забавная вещь -- программирование. Сколько лет уже работаю с Паскалем, но постоянно нахожу что-то новое. И не какие-то новомодные фичи в последних версиях, а, по сути дела, в стандарте. Вот вчера вечером повеселился вот с такой вещи. Пусть у нас есть некоторая функция, возвращающая типизированный указатель:
function SomeFunc : PInteger;
begin
end;
SomeFunc^:=10;
Написал такой код на автомате, а потом ужаснулся. Да, мы привыкли, что слева могут стоять классы (которые, по сути, тоже указатели). Но когда вот так нагло в левой части оператора присваивания стоит функция -- это как-то бьет по глазам :D Хотя, по логике вещей, все законно.
P.S. Особого обсуждения данное сообщение не подразумевает. И к вопросам оптимизации кода имеет весьма посредственное отношение. Просто захотелось поделиться замеченной забавной вещью, а в какую тему написать, я не придумал.
№ 652 22-04-2009 06:54 | |
Ответ на »сообщение 650« (matvey)
___________________________
Это же сильноветвящиеся B-деревья, которые как раз больше применимы для дисковых операций...
Точно. Это было полезно до появления на PC промышленных СУБД.
№ 651 21-04-2009 10:50 | |
Ответ на »сообщение 647« (Сергей Перовский)
___________________________
В википедии в статье о АВЛ-деревьях есть исходники на Дельфи.
Кстати в варианте для С++ в конце проверка дерева на связность.
Помечено "необязательный фрагмент", но наводит на размышления,
что это "ж-ж-ж" не спроста :)
№ 650 21-04-2009 08:01 | |
№ 649 21-04-2009 07:38 | |
№ 648 21-04-2009 07:05 | |
Ответ на »сообщение 647« (Сергей Перовский)
___________________________
>>> А мне помнится, в Турбо-Паскале, ни-то 5-й, ни-то еще 4-й версии был модуль построения индексных деревьев
В стандартной поставке?! Что-то не помню. Там были BGI, Turbo Vision и набор утилит (типа, TPU Mover). Или в Turbo Vision что-то такое было? Если да, то я могу посмотреть: у меня "шестерка" до сих пор жива.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|