Распространено ли распечатывать код на бумаге? [закрыто]

36

Мне нравится, чтобы мои строки кода не превышали 80 символов, потому что:

  • Мне не нужно делать горизонтальную прокрутку;
  • Я знаю, что линия, вероятно, слишком сложна, если она превышает этот предел; а также
  • он хорошо распечатывается на бумаге.

Что касается последнего, я встречал лишь немногих, которые на самом деле распечатывали код для просмотра (я один из них). Так как часто распечатывать код?

габлин
источник
1
Я думаю, что вопрос в том, почему вы печатаете код на бумаге?
Анон.
14
Я не могу говорить о том, как часто распечатывается код, но если принтер не является пережитком давно забытого времени , он может печатать более 80 символов в строке. 80 символов используются для улучшения читабельности и исторически, потому что многие терминалы имели ширину всего 80 столбцов, а не из-за принтеров.
12
@Mark На самом деле 80 символов происходит от того, когда код был написан на перфокартах шириной 80 символов. И первые 6 были для контрольных кодов и номеров строк. Вот почему код FORTRAN должен начинаться в столбце 7.
ChrisF
3
@ Аарон - это, наверное, хорошо для программистов »
ChrisF
5
@Aaron - Programmers 'предназначен для более субъективных (но все же конструктивных) вопросов, которые окружают нашу профессию.
ChrisF

Ответы:

50

Я все еще очень редко печатаю код, но только если это особенно запутанная проблема.

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

В идеальном мире принципов SOLID и DRY вы должны увидеть весь метод на одном экране. Тем не менее, мы не работаем в идеальном мире ...

ChrisF
источник
4
+1 для «[необходимость просмотра напечатанного кода] обычно указывает на то, что код слишком сложен и нуждается в рефакторинге ...»
Bill
Это также помогло понять условия гонки. Напечатайте следы стека и сравните их рядом, сделайте записи и т. Д.
rperetti
4
@rperetti: печать таких вещей, как следы стека, сильно отличается от печати кода. Однако не сравнивайте их рядом - найдите окно (тип стекла, а не тип Microsoft). Поместите две распечатки друг на друга на стекле, и расхождения заметны. (Очевидно, только при дневном свете.)
Лорен Печтел
5
Не проще ли сравнить их с инструментом сравнения?
Жанна Пиндар
14

Вы ставите. Но помните, печать в альбомной ориентации позволила 132 символа

альтернативный текст

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

альтернативный текст

Jé Queue
источник
13

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

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

Обратите внимание, что с современными цветными принтерами вы можете получить синтаксическую раскраску на бумаге. Это действительно отличная помощь и настоятельно рекомендуется.

(Я также распечатываю спецификации для чтения - для размещения заметок на полях.)

user1249
источник
8
+1 Когда кто-то передает мне беспорядок для рефакторинга, я обычно распечатываю его и провожу некоторое время в хорошем солнечном месте.
Шарпи
Как правило, если весь модуль не помещается на одном экране дисплея, он, вероятно, нуждается в серьезной переработке. Это стало особенно актуально с тех пор, как стал доступен режим VGA с 50 линиями, не совсем 20 лет назад. Я говорил это раньше, и я скажу это снова: почти за 40 лет в этой сумасшедшей ракетке я увидел ровно ОДИН (1) модуль, который должен был иметь длину более 60 строк (одна напечатанная страница) , (Я видел много модулей, которые были длиннее этого, и все они «оставляли желать лучшего». (Вежливая фраза.)
Джон Р. Штром
@ Джон, почему он должен быть длиннее 60 строк?
@ user1249: Это была рутина фотонной торпеды из игры "STARTRK" ("Звездный путь") из Matuszek-Reynolds-McGehearty-Cohen. Это было написано на Фортране IV. Он должен был проанализировать команду, смоделировать полет одной или трех фотонных торпед (возможно, прерывание при возникновении пропуска зажигания), с возмущениями, И настроить стек для создания 8-полосного соединения звезд, идущих нова при торпедировании или примыкающая к звезде, идущая к новой звезде и убивающая всех клингонов, примыкающих к указанным звёздам. FORTRAN IV не проводил рекурсию, и просто не было способа оценить это, что не ухудшило бы ситуацию.
Джон Р. Штром
12

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

Еще один: нашел какой-то старый код, который представлял собой несколько вложенный оператор If / Then, который не помещался бы на экране. Они должны были уволить бывшего программиста, который написал это, но тогда я бы остался без работы;)

оборота Джеффо
источник
4
+1 за смену сцены. Иногда просто видя что-то в другом контексте, вы начинаете думать об этом по-другому.
Джон Хопкинс
3
+1 На большом столе для конференций можно разместить больше страниц, чем на экране компьютера. И вас не отвлекает твиттер или электронная почта
Алекс Жасмин
1
Если вас отвлекли твиттер или электронная почта - вы делаете это неправильно. Электронная почта, а также твиттер и другие мессенджеры являются асинхронными. Вам не нужно отвечать как можно скорее.
13:30
8

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

Если у вас есть один (или два или более) мониторов с достаточно широкой шириной, вы можете легко открыть два исходных файла с вертикальным разделением в полноэкранном режиме и не должны подчиняться слишком жестким правилам ширины линии.

И в некоторых случаях мне не нужно видеть содержимое всей строки (то есть строки, распечатывающие отладочные сообщения или тому подобное), и поэтому не имеет значения, если строка обрезана справа.

Но, чтобы ответить на ваш вопрос: по моему мнению, уже не так часто распечатывать код на бумаге.

Экес
источник
8

Что ж, сейчас я печатаю код на бумаге нечасто, но раньше делал это все время.

Обычные причины в наши дни - сидеть где-нибудь в тишине и объяснять код младшему, или если длинный метод действительно содержит ошибки и требует некоторой работы с ручкой и бумагой. Экраны не всегда достаточны, особенно когда вы хотите заметки и подсветку везде.

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

Orbling
источник
5
+1 "горизонтальная прокрутка это дьявол". Я просто рассказывал кому-то ту же самую вещь на прошлой неделе.
morganpdx
8

Когда я учился в средней школе (сейчас 21 год), у меня дома не было подключения к интернету. Поэтому я часто распечатывал образцы кода и различную документацию по API, чтобы брать с собой домой.

Примечание: удивительно, как много работы вы можете выполнять без подключения к интернету, при условии, что у вас уже есть необходимая информация.

Кевин Виския
источник
6

Я никогда не печатал свой исходный код. Я никогда не должен был этого делать. Единственный исходный код, который я видел за пределами экрана компьютера, был в книгах.

Я использовал свои принтеры для чего-то другого.

альтернативный текст

user2567
источник
1
Теперь я чувствую себя старым: D
wildpeaks
Как человек, который родился после этого программного обеспечения, было весело искать.
Naltroc
5

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

как зовут
источник
Поместите это на монитор № 3 тогда!
Лорен Печтел
4

Так как часто распечатывать код?

Это было обычным делом много лет назад во времена программирования под DOS, 80 символов точно заполняли печатную страницу. Тогда у нас были матричные принтеры, поэтому ограничение было, вероятно, со стороны оборудования. Это был также предел на экране консоли.

В настоящее время люди почти не печатают код, единственное исключение составляют небольшие фрагменты кода, напечатанные в качестве тестовых примеров для собеседований.

В наши дни люди в основном работают с большими мониторами, Full HD и другими. Я обычно растягиваюсь до 150-200 символов, не думая о каких-либо побочных эффектах печати.

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

В прошлый раз я напечатал код около 8 лет назад для получения университетского диплома, который, я уверен, никто не читал - код, который я имею в виду :-). С тех пор никогда не было.

оборота user8685
источник
Прошло много лет с тех пор, как я напечатал код, отличный от веб-страницы. Я не согласен с вашей длиной строки, хотя - даже если вы можете получить столько, трудно следовать. Я редко
прохожу
@Loren Pechtel: Дело в том, что мне нравятся длинные описательные имена для методов и переменных. С всего 80 символов в ширину, я бы изо всех сил старался сохранить его компактным и правильно отформатированным. Конечно, это только мой случай.
Вы занимались программированием DOS на консоли CRT? У нас были перфокарты. Ограничение в 80 символов было результатом перфокарт. Возможность изучать код на 3 или 4 страницах одновременно очень удобна. Наверное, поэтому я все еще предпочитаю распечатки. Проще ориентироваться среди связанных функций.
Гуперникетес
Мне также нравятся длинные имена - вот почему я иногда получаю 100 символов.
Лорен Печтел
4

Печать кода устарела где-то между 1975 и 1982 годами, за исключением особых причин:

  • код для чтения во время поездки
  • старый код, который входит в спецификацию нового проекта, который должен заменить его
  • иметь дело с вопиющими ошибками; безопаснее избить коллегу пачкой бумаги, чем монитором
user281377
источник
1
Избиение недооценено.
Кейт Лэйн
3

Наши юристы в области интеллектуальной собственности требуют «бумажной копии» для регистрации авторских прав.

Я не знаю, печатают ли они это на бумаге. Я отправляю им PDF-файл, который они могут распечатать или включить в документ об авторских правах.

С. Лотт
источник
3

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

Брайан Кноблаух
источник
2

Я иногда печатаю свой код, потому что я на маленьком (15 ") отдельном мониторе. Мне иногда нужно объединить две программы, и переключаться между ними очень трудно. Однако я делаю это не часто, только когда это необходимо ,

санге
источник
Двойные мониторы! ;)
Пемдас
@Pemdas Я хочу, лол.
Санге
Я использую 15 "дома из-за нехватки места на столе.
Orbling
2

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

Кроме того, я, вероятно, был бы более склонен печатать схему базы данных на бумаге, чем код.

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

Питер Тернер
источник
На самом деле, 80 символов все еще являются хорошим маркером для проблемы горизонтальной прокрутки. Разработчики часто имеют две панели источника, и даже при моем разрешении 1680 я могу получить только 107 символов, прежде чем мне придется прокручивать, когда у меня есть две панели рядом. Кроме того, я предпочитаю, если код не идет полностью в нужное поле.
Крейг,
1
@Craige вроде как зависит от размера шрифта и DPI, а также от того, сколько мусора у вас по обе стороны экрана (если вы находитесь в IDE). По этой причине я начал использовать XTerm вместо стандартного Gnome Terminal при кодировании через SSH - не то чтобы я не мог просто изменить шрифт.
Питер Тернер
@Petur Turner - это правда, но мой Eclipse настроен таким образом, чтобы минимизировать потерянное пространство, когда мне нужно перейти к кодированию. Слева и справа от моих редакторов практически не осталось места. Размер шрифта также довольно стандартный. Точка - 80 символов - хорошая целевая длина, чтобы сделать источник читаемым в самых разных условиях.
Крейг,
2

Я только распечатываю код, который поставляется вместе с научной статьей. Потому что этот код часто обеспечивает реализацию алгоритма (сложный, я бы сказал), и вам нужно пару часов, чтобы его обработать.
Я сомневаюсь, что я бы распечатал код, содержащий операторы SQL, или программирование GUI.

Sorantis
источник
2

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

Кристофер Махан
источник
+1 Мне хочется, чтобы у нас все еще был матричный принтер с бесконечным количеством бумаги.
Питер Тернер
с чередующимися зелеными и коричневыми линиями? Но так медленно!
Кристофер Махан
2

Почти никогда

Мне очень трудно было вспомнить время, когда я либо напечатал код, либо увидел напечатанный код. И я могу честно сказать, что я не помню ни одного раза (за исключением псевдокода).

Я не предполагаю, что нет никаких законных причин для печати кода.

Темная ночь
источник
2

Мне легче вычислять большие модули, если я могу распечатать их и быстро просмотреть различные разделы. Возможно, я мог бы сделать что-то похожее с несколькими мониторами, но если у меня есть более 2-3 мест в коде, которые можно просмотреть, гораздо быстрее разложить все это в одном месте, чем прокручивать и отслеживать закладки. Мне также нравится помечать распечатки с изменениями, а не вносить их в редакторе, потому что я могу видеть старый код и новый код рядом. Конечно, я мог бы закомментировать старый код в редакторе, но если вы заменяете больше, чем несколько строк, тогда вы прокручиваете старый код с монитора, так что вам не лучше.

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

TMN
источник
1

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

Имейте в виду, я работаю рядом с кем-то, кто занимается кодированием на мэйнфреймах уже несколько десятилетий, а рядом с ним стоит стопка распечаток кода.

Думаю, делай то, что работает для тебя. Только не оставляйте свои распечатки на моем столе, спасибо.

сойка
источник
1

Немного другой ответ на вышеперечисленные.

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

В мой первый год большинству устройств требовалась бумажная копия в дополнение к электронной загрузке или копии, записанной на компакт-диск (да, компакт-диск для почтового файла объемом 5 Мб ...) [Выбор лектора]

Сейчас у меня второй год, и до сих пор у нас была только одна электронная загрузка и одно издание Hardcopy + CD.

Учитывая, что у нас есть Moodle, позволяющий отправлять курсовые материалы в электронном виде, я не всегда загружаю код, поэтому мне приходится платить за распечатку материалов на университетских принтерах, и ни на одном из ПК нет ни одной программы записи компакт-дисков. что я знаю Конечно, лекторам не нравится Moodle, но это совсем другой вопрос.

Кстати, я студент британского университета, а не маленький, неизвестный. Мой был в топ-10 Uni's по версии The Times / Guardian, когда я в последний раз смотрел.

Меган Уокер
источник
Это напоминает мне о проекте, который я делал в универе, где требовался письменный отчет. Это должно было быть в пределах 10 страниц, и код должен был быть приложен как приложение, потому что лектор любил смотреть на код, читая отчет. К счастью, приложение не учитывается в общем количестве страниц. Таким образом, лектору был передан файл PDF на 90 страниц. Не знаю, действительно ли он напечатал документ. ^^
Габлин
1

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

Фаусто
источник
0

Я печатаю код, чтобы можно было сравнивать друг с другом (мои рабочие мониторы не широкоформатные). Дома у меня широкоформатный экран, поэтому я могу удобно просматривать два документа рядом.

IAbstract
источник
0

В те времена, когда американские законы не разрешали экспортировать надежную криптографию, американские разработчики открытого исходного кода печатали код и отправляли их по почте за пределы США, где они сканировались добровольцами. Но я не уверен, что это ответит на ваш вопрос;)

ГДР
источник
0

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

Логан Капальдо
источник
0

На моей последней работе я распечатывал код для проверки кода. Приятно иметь возможность выделять / маркировать немного кода, когда вы сидите, делая обзор кода, чтобы у вас была хорошая справка для любых проблем, которые были подняты во время обзора.

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

Cercerilla
источник
0

В эти дни никогда. У меня есть поддержка нескольких мониторов, если мне нужно сослаться на какой-то особенно сложный код. Современные жесткие диски не собираются моргать, храня код длиной в несколько тысяч строк. Печать кода ИМХО расточительна и вообще бесполезна, но это только я.

Тем не менее, когда я только начинал учиться разрабатывать / программировать, я ничего не думал о том, чтобы напечатать 20 страниц кода, поэтому я полагаю, что для этого может быть время и место, но я просто нахожу, что в наши дни для него мало пользы.

Марк Д
источник
0

Я печатаю свой код все время, но только потому, что я студент, который должен сделать это, чтобы передать его инструктору.

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

оборота DragonLord
источник
0

Раньше я довольно часто печатал код, но теперь делаю это меньше, потому что у меня на столе несколько мониторов - я часто буду хранить одну часть списка, которую я использую в качестве справки на моем правом мониторе (что несколько сторона), и моя текущая работа передо мной.

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

Я почти всегда распечатываю код в альбомном режиме из-за склонности использовать длинные строки.

tcrosley
источник
0

В последние 10 лет или около того я вспоминаю только распечатывание кода, поэтому я могу использовать на нем маркеры для выделения разделов, которые имеют что-то общее, прежде чем планировать рефракторность кода.

Однако иногда мне не хватает возможности распечатать на широкой непрерывной бумаге, так как выкладывание кода на пол может дать хороший обзор, в основном вместе с цветными маркерами и заметками для заметок. Пейджеры формата А4 не лучше, чем у разумного монитора.

Мониторы стали намного лучше и больше, в то время как принтеры хуже для кода, чем раньше.

Ян
источник