blog

比較プログラミング

ソースコードの前に秘密はない」ということわざは、部分的にしか真実ではありません。目の前に偉大な文学作品があるようなもので、すべての単語を読むことができても、その機微を見抜くことはできないかもしれません...

Sep 13, 2020 · 2 min. read
シェア

ソースコードの前に秘密はないのですか?

ソースコードの前には秘密はないと言われてきましたが、これは部分的にしか真実ではありません。目の前に偉大な文学作品があるようなもので、その中のすべての言葉を読むことができても、いつも微妙なニュアンスを見抜くことができるとは限りません。そのためには通常、優れた読者であるか、優れた作家である必要があります。プログラマーとして、ソースコードに含まれる秘密を察知できるかどうかは、プログラミングの能力、プロジェクトの背景に関する知識、これらの問題のいくつかに遭遇したことがあるかどうかなどに依存します。

プログラマーは一般的に読書家であると同時に作家でもありますが、文学者よりも幸運なことに、gitというタイムマシンが発明されました。githubではたくさんのソースコードを見ることができるだけでなく、gitを使えば、コードがどのように進化してきたかを段階的に見ることができます。つまり、すべての変更を比較できるのです。

比較プログラミング

私の好きな作家、リウ・ユーが書いた『比較政治学』という専攻があります:

比較の視点は、多くの重要で興味深い問題を発見するのに役立ちます。政治的な問題を論じるのでなくても、日常生活における多くの思考は、問題を発見し、アイデアを切り開くために「比較」の感覚を必要とすることがよくあります。比較」がインパクトを生み、インパクトが思考につながるからです。

良いオープンソースプロジェクトのgitコミットを使ってプログラミングを学ぶ「比較プログラミング」という授業ができないでしょうか。そのメリットは何でしょうか?

  • 何年もかけて発展してきたプロジェクトはたくさんあり、コードがオープンソース化されていても、そのような大きなプロジェクトファイルを前にすると、始める方法がないのが普通です。わずかなプロジェクトにはニーズがあり、通常、プロジェクトの初期リリースはこのプロファイルに当てはまり、学習に最適です。
  • 通常、各コミットにはそれほど多くのコードはありません。たとえたくさんのコードがあったとしても、それは特定の関数に属しているので、混乱することはありません。ですから、各コミットを読むことでプロジェクトに少し慣れることができます。
  • いくつかのコミットには、対応する課題やプルリクエストがあり、あなたが読むことのできないコミットのコンテキストを提供します。
  • 反復的なプルリクエストが多く、優れたプログラマーがどのようにコードレビューを行っているかを見ることができます。
Read next

JS ソート・アルゴリズム トップ10

古典的なソートアルゴリズムのトップ10\nJSホームのためのソートアルゴリズム。\nヒープソートの図解ソートアルゴリズム。\nコード\n/*\n * 設定項目\n * 配列の長さ\n * 配列要素の最小値\n 配列要素の最小値 * ARRAY_

Sep 12, 2020 · 9 min read