Типогра́фика (от греч. τύπος «отпечаток» + γράφω «пишу») — искусство оформления при помощи наборного (не рисованного) текста, базирующееся на определённых, присущих конкретному языку правилах, посредством набора и вёрстки. Типографика, с одной стороны, представляет собой одну из отраслей графического дизайна, с другой — свод строгих правил, определяющих использование шрифтов в целях создания наиболее понятного для восприятия читателя текста (из Википедии)
Вся современная верстка книг, журналов и газет использует принципы, отраженные в типографике. Исходный код программы - тоже текст, который предназначен для восприятия человеком и не всегда одним только автором программы. Поэтому в программировании стихийно сложился стиль оформления программ, делающий восприятие кода более удобным. Хороший стиль отражает логику работы программы, четко выделяя ее структурные компоненты.
При работе с IDE PascalABC.NET имеется возможность автоматически отформатировать программный код. С одной стороны, это позволяет выработать единый стиль оформления кода, но с другой ставит жесткие рамки такого оформления. Оформления, которое на мой взгляд, имеет определенные недостатки, в частности, нарушает принципы типографики, направленные на удобство чтения и восприятия текста, что делает строки кода “рыхлыми”.
Принципы типографики гласят, что в тексте нельзя злоупотреблять разрядкой, поскольку взгляд начинает “прыгать” по символам, Мы же видим, что после форматирования нормальная по плотности строка вида
var s:=2*Sin(a[2,3]+1.5*a[0,2]) / (4.28*Pi*Ln(a[2*i,j div 2]));
превращается в
var s := 2 * Sin(a[2, 3] + 1.5 * a[0, 2]) / (4.28 * Pi * Ln(a[2 * i, j div 2]));
Читая любой текст, мы подсознательно воспринимаем его набором фраз, состоящих из слов. А слова отделяются пробелами. Программист в своем коде выделил такие “слова”:
Это выделение позволяло ему четко видеть числитель и знаменатель запрограммированного выражения. Но после форматирования эта строка стала содержать невразумительные “пучки” концентрации символов, разделенные пробелами. Взгляд бежит по ним, спотыкается, разобраться что где намного сложнее. Первая реакция человека, не видевшего такого чудо-форматирования примерно сводится к фразе “Это сейчас что такое было?”. Действительно. что такое “a[0,” ? Какой-то обрывок.Мы же не обрадуемся, если откроем книгу и она вся будет напечатана фразами, разбитыми на куски подобно “Во тэт о т а к ая фр аза стра нн о на бра н н ая”. Так почему такой стиль должен считаться “правильным” оформлением программного кода?
Предлагаю в этой ветке обсудить, как лучше оформлять программный код. Не для того, чтобы пытаться вывернуть разработчикам руки и осудить проделанную ими работу, но может быть, чтобы подсказать им, каким бы при случае лучше сделать форматирование кода.