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

Список по категориям
Общий список

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
 
 12:56 Mirage
 12:52 barbaris
 12:49 Banderas
 12:49 Бел Амор
 12:48 eugeni
 12:48 NemeZz
 12:45 Стэн
 12:44 Aptyp
 
 
Во Флориде и в Королевстве сейчас  12:57[Войти] | [Зарегистрироваться]

Описание раздела. Цели и правила проекта.


Цель настоящего раздела
Сбор и публикация информации о "подводных камнях" в программировании вообще и на Delphi в частности.
Определение
"Камнем" считается любая нестандартная ситуация,
  • когда инструмент разработчика (будь то компилятор, IDE, библиотека или операционная система) ведет себя неадекватно.
  • Когда проблема возникает там, где ее не должно быть, если бы все работало идеально.
  • "Когда попытка решения задачи _верными_ методами не приводит к ожидаемому результату" (с) Алексей Вуколов.
  • Когда случается сбой на ровном месте, при том что программист формально сделал все правильно.

Материалы ПК разбиваются по следующим категориям (на основании признака "кто виноват"):

КОМПИЛЯТОР
Ошибки генерации кода, а также internal error и ложные сообщения об ошибках, возникающие при компиляции.
IDE (оболочка Delphi и других применяемых инструментов разработчика)
Сбои и отказы, возникающие в среде разработки.
БИБЛИОТЕКА
Ошибки в коде VCL и других применяемых библиотек и пакетов компонентов.
СИСТЕМА
Ошибки, связанные с операционной системой, ее сервисами. Если проблема зависит от версии ОС или ее подсистем (например - DirectX), то камушек должен быть брошен сюда.
ПРОЕКТИРОВАНИЕ
Ошибки стратегического уровня, допущенные программистом по причине недостатка знаний и опыта, в результате чего задача не решена либо решена неэффективно, либо с недопустимыми побочными эффектами. Например - неумелое использование потоков, или наоборот, неиспользование этой возможности распараллеливания вычислений там, где задача того требует.
ПРОГРАММИСТ
Ошибки программиста тактического уровня. Причины - те же, что и в категории ПРОЕКТИРОВАНИЕ. Неправильное решение локальных задач. То, что было разрешено в более ранних версиях языка, в новых может стать "камнем" - как, например, обращение S[0], где S:string. Неочевидные и недокументированные особенности средств разработки, воспринимаемые как ошибки.
ПОЛЬЗОВАТЕЛЬ
Случаи неадекватной реакции пользователя на программу, и наоборот. Программист не предусмотрел, как пользователь будет работать с программой. Неудачно выбранные действия/установки по-умолчанию, неправильно спроектированный интерфейс, и т.п.
HARDWARE
Нештатные ситуации, обусловленные аппаратурой.
ПРОЧЕЕ
Проблемы, не попадающие ни в одну из вышеперечисленных категорий.

Список камней по категориям

Статус и правила проекта Подводные Камни.

Это не конференция. Раздел премодерируемый. Содержание пополняется за счет материалов, присылаемых в адрес Королевства.

Присылаемые сообщения подвергаются жесткому входному контролю и обработке. Вопросы не принимаются и ответы на них не даются - для этого есть Круглый Стол. Допускаются только ПРОБЛЕМЫ, отвечающие правилам раздела, вместе с РЕШЕНИЯМИ. Пусть даже это будет не самое удачное решение, или просто рекомендация - что не надо делать.

Координатор проекта имеет право корректировать текст описания "камня" и/или добавлять свои комментарии. Имя автора сообщения указывается при публикации обязательно.

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

"Камни" желательно проверять в разных версиях Delphi и Windows, при разных опциях компилятора (во многих случаях актуально наличие оптимизации) - для выяснения влияющих обстоятельств. Тестирование требует времени, а также знаний и опыта в соответствующей области программирования. В связи с этим полноценную проверку возможно осуществить только коллегиальным методом.

Опубликованные "камни" обсуждаются в форуме по той же технологии, что и статьи и вопросы Круглого Стола. Приглашаются эксперты!

Обсуждение работы раздела ведется в теме Базарной площади "Подводные камни".

Требования по форме присылаемых материалов

  1. Письма присылаются на адрес Королевства с темой STONES. В одном письме может быть описано несколько "камней". Каждое описание начинается с заголовка и заканчивается разграничительной линией "----".
  2. Заголовок должен давать общее представление о проблеме при максимальной краткости. Он представляет собой ряд идентификаторов, разделенных точкой. Первый из них обязательный - наименование категории, остальные зависят от контекста.
    Пример:
    БИБЛИОТЕКА.VCL.TStringList.Неустойчивость сортировки.
  3. Текст сообщения состоит из двух основных частей.
    1) Описание проблемы и условий ее проявления. Конфигурации компьютера, версии Delphi, Windows, опции компилятора (если результат от них зависит), при которых она была обнаружена. Контрольный пример - максимально упрощенный кусок кода, воспроизводящий проблему. Допускается прилагать проекты в архиве zip и другие документы, имеющие отношение к проблеме.
    2) Варианты решения или рекомендации по обходу "подводного камня". Анализ причин возникновения проблемы.
  4. Стиль изложения - грамотным техническим языком в безличной форме, как пишется техдокументация или курсовой/дипломный проект. Здесь не нужен художественный рассказ от первого лица о том, как вы боролись с "глюком". Никаких эмоций - здесь не Базарная площадь, и не Круглый стол. Постарайтесь воздержаться от жаргона.

Внимание! Всем, кто давал в конференциях Королевства сообщения о проблемах программирования, подходящие для данного проекта, просьба повторить, оформив материалы в виде "камушков", согласно настоящим правилам.

Список камней по категориям

Координатор проекта "Подводные камни"
Александр Малыгин


Сопутствующие ресурсы:

The Delphi Bug List - старый проект, собирающий информацию о багах в Delphi, которым руководит Jordan Russell, известный как автор хорошего фриварного инсталлятора Inno Setup и библиотек компонентов Toolbar97, Toolbar2000.

 

  
Время на сайте: GMT минус 5 часов

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

Хостинг предоставлен компанией DOTNETPARK (ASP.NET, MS SQL hosting)  

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

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