コードを紙に印刷するのは一般的ですか?[閉まっている]


36

次の理由から、コードの行を80文字以下に抑えるのが好きです。

  • 水平スクロールをする必要はありません。
  • この制限を超えると、おそらく行が複雑すぎます。そして
  • 紙にきれいに印刷されます。

後者については、実際にコードを印刷して見る人(私もそのうちの1人)に会ったことがあります。それで、コードを印刷するのはどれくらい一般的ですか?


1
問題は、なぜコードを紙に印刷するのですか?
アノン。

14
コードを印刷するのがどれほど一般的かについて話すことはできませんが、プリンターが長い間忘れられていた遺物でない限り、1行あたり80文字以上を印刷できます。多くの端末の幅はプリンターではなく80桁であるため、80文字は読みやすさを向上させるために使用されます。

12
@Mark実際に80文字は、コードが80文字幅のパンチカードに書き込まれたときのものです。最初の6つは、制御コードと行番号用でした。FORTRANのコードは、列7で起動している理由です
ChrisF

3
@Aaron -おそらくプログラマに良いことだ
ChrisF

5
@Aaron-プログラマーは、私たちの職業を取り巻くより主観的な(ただし建設的な)質問を対象としています。
ChrisF

回答:


50

私はまだコードを時々印刷していますが、それが特に厄介な問題である場合に限ります。

通常は、コードが複雑すぎてリファクタリングが必要であることを示しているため、最初に何か落書きをすると問題を見つけて修正し、コードを分割する場所を見つけるのに役立ちます。

SOLIDDRYの原則の理想的な世界では、1つの画面でメソッド全体を見ることができるはずです。しかし、私たちは理想的な世界では働きません...


4
+1のための「[印刷されたコードを見る必要]通常、コードが複雑すぎることを示し、リファクタリングする必要があります...」
ビル

また、競合状態を理解するのにも役立ちました。スタックトレースを印刷し、それらを並べて比較し、メモを作成するなど...
rperetti

4
@rperetti:スタックトレースなどの印刷は、コードの印刷とは大きく異なります。ただし、それらを並べて比較しないでください。ウィンドウ(Microsoftタイプではなく、ガラスタイプ)を見つけてください。(もちろん、唯一の昼間インチ)
ローレンPechtel

5
diffツールで比較する方が簡単ではないでしょうか?
ジャンヌピンダー

14

あなたは賭けます。ただし、ランドスケープでの印刷には132文字まで使用できます。

代替テキスト

ユニでは、コードを緑色の棒紙に定期的に印刷していましたが、紙の上でコードを見るとコードがどれだけ深く複雑であるかを物理的に十分に理解できます。私たちは(少なくとも今日の時点で)まだ小学校時代からページを読んだり、各ページがどれだけ表現できるかを心に刻み込んでいます。コンピューターコードに複雑さの比metaを与えます。

代替テキスト


13

時には多くのコードを同時に見る必要のあるコード(通常は初めてのコード)をよく見る必要がある場合があります。そうすれば、一度にすべてを見ることができるため、印刷物は非常に貴重です。

蛍光ペンと赤と緑のペンを組み合わせることで、概要を把握するのに役立ちます。紙に書いたメモは、後で何らかの形でコードに追加されます。

現代のカラープリンターでは、紙にも構文の色付けができることに注意してください。これは本当に大きな助けであり、強くお勧めします。

(読み物の仕様も印刷します-それは余白にメモを入れるためです。)


8
+1誰かがリファクタリングのために混乱を手渡すと、私は通常それを印刷して、素敵な日当たりの良い場所で質の高い時間を過ごします。
シャーピー

一般的なルールとして、モジュール全体が1つのディスプレイ画面に収まらない場合は、おそらく大幅な手直しが必要です。これは、50行のVGAモードが利用可能になってから20年ほど前から特にそうでした。私はこれを前に言った、そして私はそれをもう一度言う:この狂ったラケットで40年近く、私はちょうど約60行(1印刷ページ)以上の長さを必要とするちょうど1つのモジュールを見た。(それよりも長いモジュールがたくさん見られましたが、それらはすべて「望まれるものを大いに残しました」。(丁寧なフレーズ。)
ジョンR.ストローム

@ジョン、なぜ60行より長くする必要があったのですか?

@ user1249:Matuszek-Reynolds-McGehearty-Cohen "STARTRK"( "Star Trek")ゲームの光子魚雷ルーチンです。FORTRAN IVで作成されました。それは摂動と、1個又は3本の光子魚雷(失火が発生した場合、おそらく中止)のいずれかの飛行をシミュレートするには、コマンドを解析しなければならなかった、 torpedo'edとき新星を行くつ星の8ウェイ接続を行うためのスタックを設定するかであること新星になる星に隣接し、その星に隣接するクリンゴンを殺します。FORTRAN IVは再帰を行いませんでした。また、悪化させることのないファクタリングの方法はありませんでした。
ジョンR.ストローム

12

電車で読んでメモをとるために印刷することもあります。行き詰まったときは、静かな会議室のテーブルの上に広げたいです。それが本当に役立つかどうかはわかりませんが、ペースの良い変化です。

もう1つ:画面に収まらない複数のネストされたIf / Thenステートメントである古いコードを見つけました。彼らはそれを書いた元プログラマーを解雇すべきだったが、それから私は失業するだろう;)


4
シーンの変更に対して+1。別のコンテキストで何かを見るだけで、それについて違った考え方をすることがあります。
ジョンホプキンス

3
+1コンピュータ画面よりも大きな会議テーブルに、より多くのページを並べて配置できます。そして、あなたはTwitterやメールに気を取られない
アレックスジャスミン

1
あなたがTwitterやメールに気を取られたら-あなたはそれを間違っている。メール、twitter、その他のさまざまなメッセンジャーは非同期です。すぐに返信する必要はありません。
mhr

8

コードのピアレビューを行うために、コードを印刷するだけです。レビューをオフラインで行うことは、すべての邪魔な(しかし時には役立つ)IDEを備えたコンピューターで行うよりも効率的です。

1つ(または2つ以上)の適度に広いモニターを使用している場合、2つのソースファイルをフルスクリーンモードで縦に分割して簡単に開くことができ、制限の厳しい線幅規制に従う必要はありません。

また、場合によっては、行の内容全体(つまり、デバッグメッセージなどを出力する行)を表示する必要がないため、行が右側で途切れているかどうかは関係ありません。

しかし、あなたの質問に答えるために:私の意見では、コードを紙に印刷することはもはや一般的ではありません


8

さて、私は今では紙にコードを印刷することはめったにありませんが、昔はいつもそれを使っていました。

最近の通常の理由は、静かな場所に座って後輩にコードを説明するため、または長い方法が本当にバグがあり、ペンと紙の作業を通して非常にいくつかを必要とする場合です。特にメモやどこでも強調表示が必要な場合は、画面で十分なわけではありません。

私はほとんど常に80文字の制限を守っています。緊急時にSSH経由でバグをすばやく修正したいので、幅の広い端末を使いたくないからです。また、水平スクロールは悪魔です。


5
+1「水平スクロールは悪魔」。先週、まったく同じことを誰かに言っていました。
morganpdx

8

私が高校に通っている10代の頃(現在21歳)、自宅でインターネットに接続できませんでした。そのため、コードサンプルとさまざまなAPIドキュメントを頻繁に印刷して持ち帰りました。

補足:既に必要な情報があれば、インターネットに接続せずにさらに多くの作業を行えることは驚くべきことです。


6

ソースコードを印刷したことはありません。私はそれをする必要がなかった。私がコンピュータ画面の外で見た唯一のソースコードは本の中にありました。

プリンターを別の目的に使用しました。

代替テキスト


1
今、私は古い感じ:D
wildpeaks

このソフトウェアの後に生まれた人として、それは見上げるのが面白かったです。
Naltroc

5

両方のモニターがいっぱいになったときにコードを印刷し、常に何かを参照する必要があります。机の上の紙のシートは、貧弱な追加のモニターです。


それをモニター#3に置いてください!
ローレンペクテル

4

それで、コードを印刷するのはどれくらい一般的ですか?

DOSプログラミングの時代には何年も前に一般的でしたが、80文字が印刷ページに正確に表示されていました。マトリックスプリンターがあったので、制限はおそらくハードウェア側にありました。コンソール画面の制限でもありました。

今日、人々はまったくコードを印刷することはほとんどありません。唯一の例外は、就職の面接のテスト例として印刷される小さなコードスニペットです。

最近ではほとんどの人が大型モニターやフルHDなどで作業しています。私は通常、印刷の副作用を考えずに150〜200文字に拡大します。

チームで話し合うときは、通常誰かがラップトップを手に取り、それをプロジェクターに接続します。繰り返しますが、誰もコードを印刷しません。

私が最後にコードを印刷したのは、大学の卒業証書の約8年前でした。以来する必要はありません。


Webページ以外のコードを印刷してから、何年も経ちました。あなたの行の長さに私は同意しません-たとえそれだけ多くのことができたとしても、それを追うのは難しいです。私はめったに100文字程度まで行かないと私は約80にそれを維持したい
ローレンPechtel

@Loren Pechtel:私はメソッドと変数の長い説明的な名前が好きです。幅が80文字しかないため、コンパクトで適切なフォーマットを維持するのに苦労しています。もちろん、それは私の場合です。

crtコンソールでDOSプログラミングをしましたか?パンチカードがありました。80文字の制限は、パンチカードの結果でした。一度に3ページまたは4ページ以上のコードを学習できることは非常に便利です。それが私がまだプリントアウトを好む理由だと思います。関連する機能を簡単にナビゲートできます。
Huperniketes

私は長い名前も好きです。だからこそ、時には100文字になることもあります。
ローレンペクテル

4

コードの印刷は、特別な理由を除いて、1975年から1982年の間に廃止されました。

  • 通勤中に読むコード
  • それを置き換える新しいプロジェクトの仕様に入る古いコード
  • 露骨なエラーに対処するため。同僚よりも紙の束でモニターを打つ方が安全です

1
パンメリングは過小評価されています。
キースレイン

3

当社の知的財産弁護士は、著作権の提出のために「ハードコピー」を必要とします。

実際に紙に印刷しているかどうかはわかりません。私は彼らに印刷するか、著作権の申請に含めることができるPDFを送ります。


3

もう違います。連続フィードのドットマトリックスが一般的だった頃、IDEの前の頃はずっとそうしていました。これらの印刷物を広げて、簡単にめくることができます。最新のシートフィードレーザー/インクジェットプリンターは、大きく後退しています。それらを一緒にホチキス止めしても流れません。また、ホチキス止めしないと、シートがばらばらになってしまいます。自動強調表示とメソッドナビゲーターを備えた最新のIDEでは、印刷結果を調べることで検出されたエラーのクラス全体も排除されます。


2

小さい(15 ")シングルモニター上にいるため、コードを印刷することがあります。2つのプログラムを組み合わせる必要がある場合があり、プログラムを切り替えるのは非常に困難です。 。


デュアルモニター!;)
ペムダス

@Pemdas希望、笑
11

私が原因デスクスペースの不足のために自宅で15"を使用しています。
Orbling

2

コードを紙に印刷することは非常にまれであり、深刻なオフラインデバッグを行いたい場合、または他の人のコードに精通したい場合にのみです。

また、データベーススキーマをコードよりも紙に印刷する方が適切でしょう。

水平スクロールの問題は、120文字以下にとどまる大きな煩わしさと理由だと思います。


実際、80文字は、水平スクロールの問題に対する優れたマーカーです。開発者は多くの場合、2つのソースペインを持ちます。1680解像度でも、2つのペインを並べてスクロールする前に107文字しか取得できません。また、コードが完全に右マージンに移動しない場合も好みです。
クレイジュ

1
@Craigeは、フォントサイズとDPIに依存しますが、画面の両側にあるジャンクの量(IDEを使用している場合)にも依存します。この理由で、SSHを介してコーディングするとき、標準のGnomeターミナルの代わりにXTermを使用し始めました-フォントを変更しただけではなかったというわけではありません。
ピーターターナー

@Petur Turner-それは本当ですが、私のEclipseは、コーディングを開始する必要があるときに無駄なスペースを最小限に抑えるようにセットアップされています。エディターの左右に無駄なスペースはほとんどありません。フォントサイズもかなり標準です。ポイントであること-80文字は、最も多様な条件下でソースを読みやすくするための適切なターゲット長です。
クレイジュ

2

科学記事に付属するコードのみを印刷します。このコードはアルゴリズム(私が言う複雑なもの)の実装を頻繁に提供するため、処理に数時間かかるためです。
SQLステートメントやGUIプログラミングを含むコードを印刷することはできません。



2

ほとんどは決してない

コードを印刷したとき、またはコードが印刷されたのを見たときを思い出すのは本当に難しいと思いました。そして、私は正直に言って、私は(疑似コードを除いて)単一の時間を思い出さないと言うことができます。

コードを印刷する正当な理由がないことを示唆していません。


2

大きなモジュールを印刷してさまざまなセクションをすばやく表示できれば、簡単にわかります。おそらく複数のモニターで同様のことを行うことができますが、コード内に2か所以上の場所がある場合、スクロールしてブックマークを追跡するよりも、すべてを1か所に広げる方が迅速です。また、古いコードと新しいコードを並べて表示できるため、エディターで変更を加えるのではなく、変更で印刷をマークアップするのも好きです。もちろん、エディターで古いコードをコメントアウトすることもできますが、数行以上置換する場合は、古いコードをモニターからスクロールしてしまうので、元気です。

そうは言っても、私はもうコードをほとんど印刷しません。リスト全体が連続しており、余白にメモを入れるスペースが十分にあるファンフォールド紙では素晴らしかったが、個々のレターサイズのページにすべてを印刷することは、画面に表示するのとほとんど同じくらい悪い。特に、エディターがヘッダーとフッターを1インチのマージンに配置することを要求する場合。幸いなことに、最新のIDEは、物事を印刷する必要性を減らす多くのツールを提供します。


1

私は自分のために何も印刷しません。そして、私はそれから抜け出すことができないときにのみ他の人のために印刷します。私も印刷物を受け取るのが嫌いです。彼らは私の机を散らかし、それから私は彼らに責任があります(それを保存しますか?それをファイルしますか?それを細断しますか?それをスクラップとして使用しますか?)

念のために言っておきますが、私は数十年にわたってメインフレームコーディングを行っており、彼のそばに非常に多くのコードプリントを持っている人の近くで働いています。

私が思うにあなたのために働くものをしてください。印刷物を私のところに置いたままにしないでください机に置いた、ありがとう。


1

上記の回答とは少し異なります。

私は学生です。さまざまな授業の手渡し用のコードを印刷していますが、コードを書かなければならないすべてのユニットのコードを印刷しているわけではありません。

私の最初の年には、ほとんどのユニットで、電子アップロードまたはCDへのコピー(はい、5 Mb zipファイルのCD ...)に加えてハードコピーが必要でした[講師の選択]

私は現在2年目で、これまでのところ、電子のみのアップロードが1回、ハードコピーとCDのハンドインが1回ありました。

コースワークの電子提出を可能にするMoodleがあることを考えると、コードを常にアップロードしない理由は私には及ばない-大学のプリンターで印刷するためにお金を払わなければならず、どのPCにも1つのCDバーナーはない私が知っていること。もちろん、講師はMoodleが好きではありませんが、それはまったく別の質問です。

ところで、私は英国の大学生であり、小さな未知の学生ではありません。私が最後に見たとき、タイムズ/ガーディアンによれば、私のものはUniのトップ10にいました。


それは、私が大学で行ったプロジェクトを思い出させるもので、そこでは書面による報告が必要でした。講師はレポートを読みながらコードを見るのが好きだったので、10ページ以内である必要があり、コードを付録として添付する必要がありました。幸いなことに、付録は総ページ数にカウントされませんでした。そのため、講師には90ページのPDFファイルが渡されました。彼が実際にドキュメントを印刷したかどうかわかりません。^^
ギャブリン

1

新しいツールは私をより良くサポートし、素早くナビゲートすることを可能にし、多くの種類の要約とビューを提供します。したがって、以前ほど頻繁に印刷しません。しかし、印刷物の連続読み取りは依然として簡単です。印刷する私の個人的な主な理由は心理的です。それは私が検索を続けることを妨げ、プリンタが印刷している間、私は考え始めます!また、プリンターに立ち上がって歩くことの有益な効果を過小評価しないでください:)


0

コードを印刷して、並べて比較できるようにします(職場のモニターはワイドスクリーンではありません)。自宅では、ワイドスクリーンを使用しているため、2つのドキュメントを快適に並べて表示できます。


0

米国の法律が強力な暗号化の輸出を許可していなかった頃、米国に拠点を置くオープンソースの開発者は、コードを印刷して米国外に送り出し、ボランティアによってスキャンされていました。しかし、これがあなたの質問に答えるかどうかはわかりません;)


0

時々、毛むくじゃらのコードを印刷して、それを理解してみます。また、「奇妙な」何かをデバッグするときに逆アセンブリを出力しました。


0

私の最後の仕事で、コードレビュー用のコードを印刷しました。コードレビューを行う際に、少しのコードをハイライト/マークアップできると便利です。そのため、レビュー中に持ち出された問題の参考になるでしょう。

また、特にg屈でねじれたコードのリファクタリング(最終的には書き直し)が必要になったとき、実際にソースコードを印刷し、壁に印刷してテープで留めてから、文字列のビットを使用して、ロジックが織り込まれました。


0

最近、決して。特に難しいコードを参照する必要がある場合、複数のモニターをサポートしています。最新のハードドライブは、数千行ものコードを保存していても点滅しません。コードを印刷することは無駄であり、一般的には役に立ちませんが、それは私だけです。

それは、開発/プログラミングを初めて学んだとき、20ページのコードを印刷することは何も考えていなかったので、時間と場所があるかもしれないと思いますが、最近はあまり使い道がないと思います。


0

私は常にコードを印刷しますが、それは私がインストラクターに提出するためにそれを行う必要がある学生だからです。

ただし、(優れた開発者のように)複数のモニターにアクセスできるため、参照用にソースコードを印刷する必要がある状況はあまりありません。スキーマを一目で確認できるように、データベースに入力するために使用したスクリプトの1つを印刷したことがありますが、あまり使用していないようです。


0

以前はかなり頻繁にコードを印刷していましたが、デスクに複数のモニターがあるため、それほど多くはありません-使用しているリストの一部を右のモニターの参照として保持することがよくあります側)、そして私の目の前で私の現在の仕事。

odeを印刷する場合、ほとんどの場合、誰かまたはどこか(ライブラリ)からのコードであり、勉強したいので、ページを前後に切り替える必要があります。

長い行を使用する傾向があるため、ほとんど常にコードを横長モードで印刷します。


0

過去10年ほどで、コードを印刷することしか思い出せないので、蛍光ペンを使用して、コードを屈折させる方法を計画する前に、共通点のあるセクションをマークアップできます。

ただし、床にコードを配置すると、主に色付きの蛍光ペンとポストイットノートと一緒に、概要を把握できるため、幅の広い連続紙に印刷できないことがあります。A4印刷ページャーは、合理的なモニターが提供するものよりも優れています。

モニターは以前よりずっと良くなり、コードはプリンターの方が悪くなっています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.