Эта заметка является продолжением к предыдущей.
Программное окружение, в котором работает программист, а точнее его настройки – сугубо индивидуальная вещь. Но есть несколько моментов, которые прямо или косвенно влияют на результат. Ниже приведены рекомендации, которые будут частью будущего документа; на них будут ссылаться другие разделы документа.
Настройки окружения
Дизайн пользовательского интерфейса должен быть максимально однообразным. Для достижения этого при разработке форм необходимо выполнение следующих требований:
- масштабирование текста в ОС Windows должно быть установлено в 100%;
- тема оформления ОС Windows должна быть классической (с использованием шрифта Tahoma по умолчанию).
Масштабирование текста
При разработке форм в Delphi учитывается текущее разрешение экрана, а точнее параметр PPI - логическое количество точек на дюйм. Во время исполнения приложения, при создании формы, если текущее значение PPI не совпадает с тем, которое было сохранено в dfm-файле, происходит масштабирование.
К сожалению в VCL механизм масштабирования содержит ошибки. Подробно об этом описано здесь.
На уровне BaseForms.pas большая часть проблем исправлена, но новый механизм масштабирования требует, чтобы все dfm-файлы проекта разрабатывались в едином PPI. На текущий момент это значение должно равняться 96.
Это настройка операционной системы, называется "масштабирование текста". Чтобы PPI равнялось 96, масштабирование должно быть установлено в 100%.
Тема оформления
В разных темах оформления используются разные шрифты и разные размеры неклиентских элементов диалоговых окон (строка заголовка, граница окна, полосы прокрутки и другие). Это влияет на внешний вид разрабатываемых в Delphi форм (на разницу между значениями ClientWidth (ClientHeight) и Width (Height) формы, а также на высоту некоторых компонентов типа TEdit и TCombobox, для которых высота определяется по размеру шрифта). Использование разных тем оформления может привести к случайному/лишнему изменению свойств формы и её компонентов.
Классическая тема и шрифт Tahoma являются наиболее распространёнными в корпоративной среде, диалоговые окна и пользовательский интерфейс логичнее всего разрабатывать именно для них.
Настройки IDE
Настройки IDE Delphi - главное меню Tools \ Options. Эту настройку достаточно выполнить один раз, сразу после установки Delphi.
VCL Designer
Environment Options \ VCL Designer
Use designer guidelines необходимо сбросить.
Snap to grid – установить.
Grid size необходимо выставить именно в 4 и все компоненты располагать по сетке (Snap to grid) потому, что в Windows есть масштабирование. К числам, кратным 4, хорошо применяются стандартные масштабы текста – 75%, 125%, 150% и выше.
New forms as text – для того, чтобы новые dfm-файлы сохранялись в виде текстовых файлов; это необходимо при сравнении двух разных версий одного файла.
Auto create forms & data modules – выключено, т.к. формы создаются в Run-Time по мере необходимости.
Embedded designer – установить, настройка преследует две цели: а) избежать лишнего/случайного изменения положения формы (свойства Left и Top) в dfm-файл (когда программист просто подвинул форму, чтобы не мешала); б) вообще не сохранять эти свойства в dfm-файл (реализовано на уровне BaseForms – когда значения равны нулю, они не сохраняются).
Editor Options
Editor Options \ Display
Right margin = 120 – значение 80 использовалось на старых мониторах; сейчас подавляющее большинство мониторов – широкоформатные, значение 120 является наиболее оптимальным как для чтения кода, так и по использованию экранного пространства. Именно это значение используется как максимально допустимая ширина строки в данном документе.
Остальные параметры на данной вкладке являются рекомендуемыми, но необязательными.
Formatter Options
Formatter \ Delphi \ Indentation
Formatter \ Delphi \ Spaces
Formatter \ Delphi \ Line breaks
Formatter \ Delphi \ Capitalization
Formatter \ Delphi \ Align
DDevExtensions
DDevExtensions – это расширение для IDE Delphi, скачивается и устанавливается отдельно со страницы: http://andy.jgknet.de/blog/ide-tools/ddevextensions/.
После установки необходимо выполнить настройку: IDE Delphi - главное меню Tools \ DDevExtensions Options.
Extended IDE Settings:
- Disable alpha-sort class completion
Эту настройку необходимо включить, т.к. данный документ вместо автоматического расположения методов в алфавитном порядке обязует это делать осмысленно - см. Порядок объявления методов
Form Designer:
- Active
Включить - Set TLabel.Margins.Bottom to zero
Включить - Do not store the Explicit* properties into the DFM
Включить
Пара комментариев
Первые два скриншота сделаны в Delphi 2010. От использования Delphi 7 мы отказались.
Скриншоты настроек форматировщика кода – из Delphi XE7, здесь он уже более-менее прилично работает, хотя часто промахивается, когда пытаешься отформатировать только выделенный кусок кода.
Насчёт масштабирования – на самом деле не важно, какое оно выставлено в системе. Важно, чтобы у всех членов команды оно было одинаковым (два момента: визуальное наследование и случайное/лишнее обновление dfm-файла). Есть ещё такой момент: определив его равным 100% я себе облегчаю задачу при описании правил создания пользовательских интерфейсов (grid size, размеры компонентов и расстояния между ними).
2 коммент.:
Спасибо
Скрин для Опции Formatter \ Delphi \ Line breaks неверный
Анонимный, благодарю, поправил
Отправить комментарий