回答:
デバッグは、最初にコードを記述するよりも2倍困難です。したがって、コードを可能な限り巧みに記述すると、定義上、デバッグするほど賢くありません。
—ブライアンW.カーニハン
ホフスタッターの法則を考慮しても、常に予想よりも時間がかかります。
— ホフスタッターの法則
あなたのコードを維持することになった人があなたがどこに住んでいるかを知っている暴力的なサイコパスであるかのように常にコードします。
—リック・オズボーン
あなたはプロジェクトを持つことができます:
- 時間通りに完了
- 予算どおり
- 適切に完了
2つ選択します。
- 未知の
一部の人々は、問題に直面したとき、「私は知っている、正規表現を使用するだろう」と思う。
現在、2つの問題があります。
—ジェイミー・ザウィンスキー
理論的には、理論と実践の間に違いはありません。しかし、実際にはあります。
—ヤン・ラ・ヴァン・ド・スネプシュート
製図台の消しゴムまたは建設現場のハンマーを使用できます-フランクロイドライト
正確にはプログラミングの引用ではありませんが、最も確実に当てはまります。
コンピューターサイエンスには2つの難しい問題があります。キャッシュの無効化、命名、および1以外のエラーです。
—レオン・バンブリック(@ secretGeek)
(実際には、http://q4td.blogspot.com/search/label/programmingからのすべてが、リストをキュレートするときに表示されます。)
私たちは小さな効率を忘れてはなりません。約97%の時間です。早すぎる最適化はすべての悪の根源です。しかし、その重要な3%でチャンスを逃してはなりません。
— Donald Knuth、構造化プログラミングwith goto Statements、JACM Computing Surveys、Vol 6、No。4、1974年12月、p.268
これは、以下の2つの段落から抽出されたもので、上記の結論に至った理由を説明するだけでなく、この間違いを回避する方法に関する情報も提供します。
効率の限界が悪用につながることは間違いありません。プログラマーは、プログラムの重要でない部分の速度を考える、または心配するのに膨大な時間を浪費します。これらの効率化の試みは、デバッグと保守を考慮すると、実際に大きな悪影響を及ぼします。私たちはすべきです小さな効率忘れん。約97%の時間です。早すぎる最適化はすべての悪の根源です。
しかし、その重要な3%でチャンスを逃してはなりません。優れたプログラマーは、そのような推論によって自己満足に落ち着かないでしょう。重要なコードを注意深く見るのが賢明でしょう。しかし、そのコードが特定された後にのみ。測定ツールを使用していたプログラマーの普遍的な経験は、直感的な推測が失敗することであったため、プログラムのどの部分が本当に重要であるかを先験的に判断することはしばしば間違いです。(…)
コードの最初の90%が開発時間の最初の90%を占めています。コードの残りの10%は、開発時間の残りの90%を占めています。
— トム・カーギル
コンピューターサイエンスは、天文学が望遠鏡に関するものである以上、コンピューターに関するものではありません
—エドガー・ダイクストラ
言語には2種類しかありません。人々が不平を言う言語と、誰も使わない言語です。
— Bjarne Stroustrup
Unicodeサポートは「機能」ではありません。予想される動作です。
確かに、それは非常に具体的ですが、廃止された文字セットはまだあまりにも広く使用されているため、私のお気に入りです...
コードにコメントを付けることは、トイレを掃除するようなものです。絶対にやりたくはありませんが、実際にあなたとゲストにとってより快適な体験を生み出します。
—ライアン・キャンベル
ライナスの法則
十分な規模のベータテスターと共同開発者の基盤を考えると、ほとんどすべての問題はすぐに特徴付けられ、修正は誰かに明らかです。
または、あまり正式ではありませんが、
十分な眼球を考えると、すべてのバグは浅いです。