Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  06:40[Войти] | [Зарегистрироваться]
Обсуждение темы:
Вопросы оптимизации кода

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

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 737 сообщений

Добавить свое сообщение

Отслеживать это обсуждение


Смотрите также обсуждения:
Тестирование проекта. Отладка.
  • Подводные камни
  • Централизованная обработка ошибок
  • Бета-тестирование
  • Давайте учиться на ошибках.
  • Почему программисты допускают ошибки?
  • Автоматизированные тесты для GUI
  • О системах контроля ошибок

  • <<<... | 397—388 | 387—378 | 377—368 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 36


    № 387   22-01-2007 22:20 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 386« (Geo)
    ___________________________
    я собственно на таком языке и программирую :) (Где всё инициализируется неявно)


    № 386   22-01-2007 12:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 384« (Max Belugin)
    ___________________________
    >>> А в дельфи мало того что есть переменная, так еще и ее состояние неопределено и по умалчанию там мусор
    Ну, никто не запрещает программировать на VB, где переменная любого типа заведомо инициализирована заведомо известно каким значением. А я как-то уже давно перестал допускать ошибки, обусловленные забывчивостью в отношении инициализации переменных.

    Кстати, вспомнилась старая хохма:
    Настоящие програмимисты не пишут на Паскале. Строгая типизация данных -- для людей со слаборй памятью.

    Можно перефразировать
    Настоящие программисты не пишут не Бейсике. Автоматическая инициализация переменных -- для людей со слабой памятью.

    P.S. Для особо серьезеых людй замечу, что каждый из двух предыдущих абзацев неявно заканчивается смайиликом ;-)
     Geo


    № 385   22-01-2007 09:31 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 383« (panda)
    ___________________________
    Как это может объяснить высказывание Сергея Рощина В контексте сообщения шла речь о подавлении Warning`ов. Так что лучше пусть будет одна лишняя строка, которая компилятором всё равно игнорируется, чем опастность нажить себе неприятность!
     Cep


    № 384   22-01-2007 07:24 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 383« (panda)
    ___________________________
    в C# нет никакого возвращаемого значения по умолчанию. Если ничего явно не возвращать, то код просто не скомпилируется. Соответственно нет такого типа ошибок. А в дельфи мало того что есть переменная, так еще и ее состояние неопределено и по умалчанию там мусор. Который в частом конкретном случае 0 но в военное время может достикать PI


    № 383   22-01-2007 06:37 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 382« (Max Belugin)
    ___________________________

    Ну и? Delphi тоже такие фокусы знает:
    [Warning] Unit1.pas(31): Return value of function 'TForm1.A' might be undefined

    Как это может объяснить высказывание Сергея Рощина: "Есть такая неприятная особенность, что если не проинициализировать function XXX:integer то чаще всего результат будет 0 и это вполне логично и на этапе отладки будет правильно, а на какой-нибудь десятый раз у пользователя в Магадане там будет нечто иное." ?


    № 382   22-01-2007 05:02 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 380« (panda)
    ___________________________
    в С++ и Java такое поведение и в магадане и в африке.... так что ловится на этапе компиляции (жабы под рукой нет нет, в C#

    test.cs(3,14): error CS0161: 'MainClass.a(int)': не все ветви кода возвращают значение )


    № 381   22-01-2007 04:32 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 378« (panda)
    ___________________________

    А кто-нибудь нарвется, используя булевские типы не по назначению.

    Хм, что-то в этом есть... :-)
     Ins


    № 380   22-01-2007 04:31 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 379« (Cepгей Poщин)
    ___________________________

    чаще всего результат будет 0 и это вполне логично и на этапе отладки будет правильно, а на какой-нибудь десятый раз у пользователя в Магадане там будет нечто иное. Дальше можно размышлять долгими полярными ночами о теории, практике и красивом коде :-)

    Меня знаете, что смущает в этой логике: как же в Магадане при этом работаю программы на C++ или Java? Там ведь пока return не скажешь, результат не присвоится.


    № 379   22-01-2007 02:25 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 373« (Ins)
    ___________________________
    Так и поступаю, использую директивы {$WARNINGS ON} и {$WARNINGS OFF} Но короче и нагладнее проинициализировать в начале result, кроме того есть вероятность, что {$WARNINGS ON} по ходу дальнейших исправлений потеряется, и предупреждения перестанут появлятся вообще.
    Многие привыкают присваивать в начале функции значение Result. Вот именно. Мало ли что там в будущем в условиях можно наворотить. Есть такая неприятная особенность, что если не проинициализировать function XXX:integer то чаще всего результат будет 0 и это вполне логично и на этапе отладки будет правильно, а на какой-нибудь десятый раз у пользователя в Магадане там будет нечто иное. Дальше можно размышлять долгими полярными ночами о теории, практике и красивом коде :-)
     Cep


    № 378   22-01-2007 00:47 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 373« (Ins)
    ___________________________

    Ага, честно. В том то и дело, что ну никак не нарвемся! :)
    Так это Вы не нарветесь. А кто-нибудь нарвется, используя булевские типы не по назначению. Например, так:

      ShowMessageFmt('%d', [Ord(False)]);
      ShowMessageFmt('%d', [Ord(True)]);
      B := Boolean(2);
      ShowMessageFmt('%d', [Ord(B)]);



    <<<... | 397—388 | 387—378 | 377—368 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 36


    Добавить свое сообщение

    Отслеживать это обсуждение

    Дополнительная навигация:
    Количество сообщений на странице

    Порядок сортировки сообщений
    Новое сообщение вверху списка (сетевая хронология)
    Первое сообщение вверху списка (обычная хронология)

    Перейти на конкретную страницу по номеру
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования