車輪を頻繁に再発明する

翻訳者は、著者の意見と読者の視点との矛盾について責任を負いません



「存在するものを使用するだけです-車輪を再発明するのは愚かです...」



これを何らかの形で聞いたことがありますか? もちろんそうでした! すべての開発者と学生はしばしばそのようなことを聞​​きます。 なんで? なぜそんなに恥ずかしげに車輪を再発明するのですか? ほとんどの場合、既存のコードは動作中のコードです。 すでに何らかの品質管理、厳密なテストを経ており、現在は正常に使用されています。 さらに、本発明に費やされる時間と労力は、通常、既存の製品またはコードベースを使用する場合と同じ方法で報われません。 自転車の発明に煩わされる必要がありますか? なんで? いつ?



たぶん、開発のパターンに関する出版物やソフトウェア設計に関する本を見たかもしれません。 これらの本は、どんなにすばらしい情報が含まれていても、まだ待っていることができます。 航海に関する映画を見るのと同じように、自分で航海したり、既存のコードを使用したりするのとはまったく異なります。



自転車の発明は、制御構造の位置を特定するだけでなく、既存のさまざまなコンポーネントの内部動作に関する深い知識を得る方法でもあります。 メモリマネージャの仕組みを知っていますか? スワップ? 自分でできますか? 二重リンクリストはどうですか? 動的配列のクラス? ODBCクライアント? お気に入りの人気のあるインターフェイスと同じように機能するグラフィカルインターフェイスを作成できますか? 独自のブラウザウィジェットを作成できますか? 多重化システムを作成するタイミングと、マルチスレッド化するタイミングを知っていますか? ファイル指向データベースとメモリ指向データベースのどちらを選択するのですか? ほとんどの開発者は、単にこれらの基本的なものを自分で実装しなかったため、それらがどのように機能するかについての深い知識を持っていません。 その結果、これらはすべて、うまく機能する神秘的なブラックボックスと見なされます。 表面でそれだけを理解するだけでは、厚さに隠れている危険を明らかにするのに十分ではありません。 開発中の深いことを知らないと、本当に素晴らしい作品を作成する能力が制限されます。



四角い車輪を備えた自転車を発明することは、すぐに完璧になるよりも価値があります。 試行錯誤から学んだ教訓があり、それらには感情的な要素がありますが、技術的な本を読むだけでは得られません!



記憶された事実と本の知恵は非常に重要ですが、優れたプログラマーになるには、単に事実を収集するよりも多くの経験が必要です。 自転車の発明は、開発者の教育にとって、ボディービルダーの重量挙げと同じくらい重要です。



All Articles