Відповідь, звичайно, може залежати від багатьох факторів, але якщо ми почнемо з правильного, добре відформатованого простого текстового коду , то тут можна більш-менш узагальнити речі.
Початковим "форматуванням" у вихідному тексті буде:
новий рядок , пробіл та символи вкладки . Зауважте, що новий розрив і ручний розрив рядків (як у програмному забезпеченні DTP) - це не те саме, і навпаки, деякі рідкісні мови можуть
дозволити інші символи форматування, хоча я ніколи про таке не чув.
Коментарі не є виконуваною частиною коду, тому їх можна переформатувати без особливого ризику, якщо хтось знає, чи справді це коментар. Тож перше, що слід подивитися, як теги коментарів.
Деякі основи щодо початкового форматування простого тексту добре знати. Наприклад, для Python є посібник зі стилю PEP8 . Цей посібник із форматування, створений для Python, може використовуватися як орієнтир для основних мов, таких як C / C ++ та Java. Розгляд різних прикладних проектів може допомогти при сумніві.
Таким чином, першим принципом було б: Не змінюйте вихідний текст.
Я перегляну контрольний список - переконайтесь, що:
- На жодній сцені не відбувається автоматична заміна символів .
- Не вноситься жодних змін до тексту (якщо ви не впевнені на 100%).
- Не відображаються обгортання ліній.
- Відступи зберігаються візуально та є послідовними (приблизно чотири х ширини на рівень відступу).
- Початковий (нульовий) рівень відступу має бути видимим.
- Визначені стилі не руйнують форматування синтаксису (якщо використовується підсвічування синтаксису).
- Майте резервну копію джерела в простому тексті, щоб мати можливість повторно перевірити оригінальне форматування або почати заново.
- Номери рядків, якщо вони є, повинні бути неушкодженими, особливо якщо вони посилаються на пояснення.
Насправді, якщо початкове джерело відформатовано належним чином, взагалі не повинно бути загортання рядків. Якщо загорнуті лінії все-таки з’являються і неминучі, найпоширенішим рішенням є однорівневий висячий відступ (див. Вище зв'язаний PEP). Якщо потрібне переривання рядків - краще зверніться до керівництва зі стилем або до автора.
Однак деякі незначні символи «пробілу» можуть потребувати заміни. Оскільки джерело може включати символи вкладок, це означає, що, набір інструментів повинен забезпечити відповідність усіх вкладок на початку кожного рядка, тобто вкладені відступи зберігаються візуально, і кожен наступний рівень відступу має однакову ширину (приблизно чотири х ширини на один рівень відступу).
В ідеалі відступи, зроблені пробілами або змішаними пробілами та вкладками, повинні бути замінені на таблицю (або з тим, що програмне забезпечення DTP може зробити краще для вкладених відступів), тому, якщо потрібно, коригування відступів може бути простішим.
Звичайно, можна залишати пробіли, але може бути складніше керувати їх шириною при зміні шрифту і важче вирівняти внутрішні відступи, як у стовпцях таблиці.
Монорозміщений шрифт + пробіли
Зауважте, що якщо джерело відформатовано пробілами навмисно і призначене для читання лише односхилим шрифтом (наприклад, ASCII-діаграми або ASCII-арт), то слід зберігати пробіли повністю незмінними , але це рішення слід приймати з самого початку. Шрифт "Courier New" є найбільш поширеним для цього випадку. Однак, якщо це не дуже потрібно, я раджу проти монстроскопії, тому що все менше нових людей вибирають моношироку для кодування сьогодні, а у випадку коректури пропорційні шрифти дадуть кращий досвід читання.
Взагалі, стислі (наприклад, Arial вузькі) або менші шрифти можуть працювати краще: він надає більше уваги на відміну від тексту тексту, він зробить код більш компактним, і, таким чином, менше ймовірності появи небажаного обгортання рядків.
Я думаю, що тут можна провести лінію, і якщо вищезгадане буде зроблено, то на 99% ймовірність того, що все повинно бути добре, принаймні для простого блоку коду з одним шрифтом без кольорів.
Інструменти та розширене форматування
Крім того, вигляд можна значно покращити, використовуючи підсвічування синтаксису.
кольоровий друк або перегляд екрану: у повнокольоровому макеті можна використовувати будь-яку особливість виділення, тому це найкращий сценарій, але друк може змінити колір.
відтінки сірого чи чорно-білого шрифту: тут, звичайно, можна використовувати жирний шрифт (наприклад, ключові слова) або курсив (наприклад, коментарі), але зауважте, що кольори перетворяться на сірий з усіма наслідками. Наприклад, сірі коментарі можуть виглядати чудово на дисплеї, але можуть стати занадто блідими на папері.
Найважливіше питання - чи виробник макетів має інструменти, які можуть представляти код у читаній формі. На щастя, існує безліч безкоштовних інструментів для редагування коду, найбільш відомими (для Windows) є: Notepad ++, VSCode, Visual Studio . Але пам’ятайте про можливі неявні автоматичні перетворення вкладок у пробіли.
У Notepad ++ є можливість експорту коду у вигляді RTF , що збереже все форматування та підсвічування синтаксису джерела.
Якщо макет не потребує зміни потоку тексту у поданні коду, можна безпосередньо використовувати зображення (скріншоти) - він не такий гнучкий, як текст, але збереже 100% форматування та нумерацію рядків і може заощадити багато часу. Наприклад, номери рядків можуть бути складно зберегти у текстовій формі. Також експорт у PDF - хороша альтернатива - але не все програмне забезпечення DTP може вбудовувати PDF-файли, а деякі форматування можуть бути втрачені при друку в PDF.
Наприклад, моє налаштування коду Python у Блокноті ++ виглядає так:
Це лише для того, щоб проілюструвати, що можна безпосередньо використовувати скріншоти, і це, власне, може бути найпростішим методом. Існують різні інструменти, які можуть допомогти в зйомці екрана - можливо, вам знадобиться "зшивання" екранів для зображення з більшою роздільною здатністю.
Колірна гамма, звичайно, залежить від індивідуального, визначеного в конфігураторі стилю редактора, який вже знає підтримувану мову, тому ускладнює створення помилкового форматування, навіть якщо синтаксис не знає. Тут повинні працювати загальні правила типографіки: не надто багато кольорів, послідовні шрифти, відступи, зручний інтервал між рядками.
Додаткові інструменти / плагіни для визначення користувальницької мови також поширені, але для них потрібні знання синтаксису.