BRIAN OKKEN氏のWhy Most Unit Testing is Wasteを読む。
Unit Testってやったほうが良いに違いないとおもいつつ、自分だけで使うプログラムにそこまでしない訳で、たとえ4000行を超えたスパゲッティであっても自分で機能を付け加えて、そこそこバグが取れればOKな非常にロースタンダードな私ですが、Plant Pythonに流れてきたWhy Most Unit Testing is Wasteという記事を流し読んでみました。
要は、「Unit Test一生懸命書いても、コーディングする最近の若者のFail Firstなカルチャーでは、意味が無い」というお話で、パンチカードにプログラムを書いて、プログラムの結果が帰ってくるまで数日まつみたいなサイクルでプログラムを学んだ世代は、バグが最初から無いようなプログラムを書くことを学ぶ以外選択肢がなかったわけで、そういう人はUnit Testなんか書かなくとも、いまもオブジェクト志向なモダンなプログラム言語であっても、よいデザインとよい実装でバグの少ない素敵なコードが書けるもんだという話。
また、Unit Testのコードは、プログラムを書いた同じ人達が書いてはあまり意味が無いのだそうで。
今でも東ヨーロッパあたりの大学だと、コンピュータが足りないために、逆に優れたプログラマーが育ってしまう傾向があるのだそうで。たとえば、2004年のセビリアでは、一週間に一度しかインターネットに接続できない状況で、一週間をつかって丹念に準備してプログラムを書いて、コンピュータが使える一時間で出来るだけのことをするという状況だったのだそうだ。
(追記)最近話したドイツ人の学生は、2014年のいま、大学で使っているPCのメモリが256MBだそうで、最近サポートがとまったXPからWindows 7に変更して使っているらしい。32ビットのWindows 7というほとんどコレクターアイテムが現役ですよ。東ドイツじゃなくって西側のけっこう有名な大学なんだけど。
日本は恵まれているなぁ。。
その中で、Okken氏が気に入っているシニカルな引用として
"I find that weeks of coding and testing can save me hours of planning"
というのがあって、うけた。なんかこのまま本当に言っている人がいそうな妙なリアル感があるのがじわじわくる。これを紹介したくって記事書いたくらい。
これは、もちろん反対のことを言いたい訳で、数時間ほど頭をつかってしっかり計画を立ててからプログラムを書き始めれば、数週間のコーディング期間ほどのテストの時間が省けるものだということを言い換えたもの。
まあ、インターネットは常時接続で、Pythonでインタラクティブコンソールに書いたコード投げつつうまく動くまで試しては直してで書いている私としてはとても耳が痛い話でした。
« 今から始めるPython その5 文字列、リスト、numpyスライシング | トップページ | 64ビット環境のポータブルなPython(WinPython)用にCエクステンションをビルドしてみた。 »
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
「英語」カテゴリの記事
- brasserie(ブラッスリー)とbrassiere(ブラジャー)(2016.09.25)
- デイビッド・ビーズリーのユニットテストで魚が死んだ話。(2016.01.03)
- WindowsでLANネットワーク上にリモートGitレポを作成。(2015.10.17)
- 村上春樹はなぜノーベル賞候補なのか。(2015.10.09)
- Windows -> systemd -> MongoDB -> Sharepoint -> ActiveX(2015.07.30)
« 今から始めるPython その5 文字列、リスト、numpyスライシング | トップページ | 64ビット環境のポータブルなPython(WinPython)用にCエクステンションをビルドしてみた。 »
コメント