Как структурировать предложение, содержащее примеры длинного кода?

В контексте технического руководства мне нужно написать инструкции, проводящие пользователей через несколько стандартных манипуляций. Предоставляя примеры этих манипуляций, я написал короткое предложение, содержащее примеры «до» и «после», которые появляются в (потенциально многострочных) вертикальных блоках. В результате я не уверен, следует ли писать середину предложения с большой буквы. Кроме того, в ELU SE было высказано предположение, что удаление двоеточий перед кодовыми блоками может быть предпочтительнее. Я представил пример этого ниже, а также.


С заглавными буквами

Следовательно, следующий код:

camera.start_recording('foo.h264', quantization=25)

Следует заменить на:

camera.start_recording('foo.h264', quality=25)

Без капитализации

Следовательно, следующий код:

camera.start_recording('foo.h264', quantization=25)

следует заменить на:

camera.start_recording('foo.h264', quality=25)

Без заглавных букв и двоеточий

Следовательно, следующий код

camera.start_recording('foo.h264', quantization=25)

следует заменить на

camera.start_recording('foo.h264', quality=25)

Мой инстинкт подсказывает, что второй или третий примеры предпочтительнее, но мне было бы интересно узнать о каких-либо правилах стиля, касающихся этого. Если на то пошло, если есть лучший способ структурирования таких примеров, который полностью избегает этих проблем, я был бы очень заинтересован!

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

Ответы (5)

На мой взгляд, любой ответ выглядит сумбурно. Меня раздражает одно «предложение» с заглавными буквами на полпути; то же самое и со строкой, начинающейся без прописной буквы.

Лично я бы реструктурировал все это, чтобы полностью избежать проблемы:

Пример 1

В настоящее время строка 57 файла camera.py выглядит так:

camera.start_recording('foo.h264', quantization=25)

В этой строке параметр quantizationнужно заменить на quality, что даст нам следующее:

camera.start_recording('foo.h264', quality=25)

Пример 2

Посмотрите на рисунок 1 ниже. Наш код в настоящее время содержит строку (1); нам нужно заменить его строкой (2).

(1) camera.start_recording('foo.h264', quantization=25)

(2) camera.start_recording('foo.h264', quality=25)

Рис. 1. Два варианта строки 57 кода в camera.py

(Очевидно, что я не знаю вашего имени файла кода, номеров строк или языка программирования. Замените, где необходимо. «camera.py» можно заменить на пример 1, если вы выбираете этот путь.)

Мне нравится ваше второе решение, но я здесь немного в затруднительном положении. Если бы я писал для опытных разработчиков, я бы с радостью использовал для этого формат патча на том основании, что любой опытный разработчик будет рад его интерпретировать. Тем не менее, этот конкретный проект, пикамера , имеет образовательную направленность и должен быть понятен людям с любым уровнем опыта. По этой причине я подозреваю, что ваше первое решение предпочтительнее в этом случае. В частности, этот вопрос был связан с главой об устаревании
Я только что закончил переписывать главу об устаревании в соответствии с примером 1 и полностью им доволен (даже больше, чем раньше). Тот факт, что он дает возможность явно указать (или повторить) действие, которое необходимо предпринять непосредственно перед «новым» фрагментом, особенно приятен, и новая версия текста кажется мне намного лучше. Спасибо!
@DaveJones Рад, что смог помочь.
Я чувствую, что пример 1 лучше, чем пример 2, потому что пример 1 фактически указывает на конкретную разницу . В данном случае и без этого сносно ясно, но в других случаях может быть не так однозначно. Выделение различий помогает в интерпретации текста.

Мне нравится третья версия, без двоеточий, потому что визуальный разрыв и форматирование кода дают понять, что это новый «пункт» или мысль, а фрагмент кода не является грамматически правильным полным предложением. Поскольку вы продолжаете одно предложение через несколько перерывов, я бы не стал использовать заглавные буквы.

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

Спасибо за ответ - из вариантов, которые я представил в вопросе, я согласен с тем, что вариант без двоеточия также выглядит предпочтительнее для моих глаз (и я согласен с тем, что это было одно разбитое предложение). Тем не менее, реструктуризация, предложенная Уотеркливом, в конце концов победила; несмотря на дополнительную работу, новый текст кажется более ясным и полностью избегает проблемы.

Я подхожу к коду в тексте так же, как к диалогу: код — это цитата другого «диктора», поэтому я выделяю его из окружающего текста. Поскольку это не разговорный язык, я не использую соглашения для разговорного языка (тот же шрифт, кавычки и т. д.), чтобы не вызывать путаницы, а использую соглашения для отображения кода (моноширинный шрифт, нумерация строк, блок-кавычки и т. д.). .), но я интегрирую его синтаксически таким же образом, например, используя двоеточие и продолжая предложения строчными буквами.

Поэтому, на мой взгляд, ваш второй пример лучше всего.

Пример:

Когда пятилетняя Мод сказала: «Меня не интересует верховая езда», на самом деле она имела в виду: «Я боюсь лошадей».

Сходным образом:

Следовательно, следующий код: camera.start_recording('foo.h264', quantization=25), следует заменить на: camera.start_recording('foo.h264', quality=25).

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

Хорошей практикой является напечатать весь сценарий в приложении, а в тексте использовать те же номера строк, что и в этом добавленном сценарии. Затем вы можете ссылаться на код по номерам строк:

В строке 21 quantizationнеобходимо заменить на quality:

21 camera.start_recording('foo.h264', quality=25)

Это интригующее предложение, и я хотел бы попробовать его в какой-то момент в будущем. К сожалению, в настоящее время я не могу этого сделать, так как конкретная система, с помощью которой я пишу документы (ReadTheDocs), не имеет возможности форматировать таким образом (и, честно говоря, я вряд ли откажусь от нее, потому что простое удобство других ее функций значительно перевешивает его недостатки). Тем не менее, я с нетерпением жду возможности попробовать это в будущих проектах. Спасибо!

Сделайте самое простое, что работает, в данном случае это пример 3. Правила построения предложений на самом деле не охватывают такие вещи. Это недостаток правил построения предложений, а не самих примеров.

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

Делать что-то более запутанное или сложное, чтобы оставаться в стороне от правил грамматики или руководства по стилю, значит ставить лошадь впереди телеги. Как сказал Джордж Оруэлл, «скорее нарушьте любое из этих правил, чем скажите что-нибудь откровенно варварское».

Иногда мне приходится документировать использование кода, и я предпочитаю четкую структуру, поэтому я бы просто сказал:

Следующий код camera.start...

следует заменить на: camera.start_...

Программисты не будут заботиться о вашем выборе грамматики, им нужно будет только знать, какой код использовать. Только мои два цента стоит. Спасибо