20

これが重複していないことを願っています...

あなたが遭遇した中で最もしっかりと設計され実装されたソフトウェアシステム/フレームワーク/アプリケーションは何ですか?

TDD、SOLIDの原則、オブジェクト指向のデザインパターンなどは、ポッドキャストやブログで非常に簡単な例を使用して簡単に理論化できるようですが、コードを爆発させることなく、これらの標準に完全に準拠した大規模なシステムを開発することは想像できません。 。私の会社では、完全なTDDを実行することは、時間の制約があるため、ほとんど問題外のようです。

誰かが私に良いオープンソースプロジェクトを教えてくれるなら、私は本当に掘り下げて、どんな良いTDD/SOLIDなどを見てみたいと思います。のように見えます。ありがとう。

4

8 に答える 8

7

スペースシャトルソフトウェア?

彼らは正しいものを書く

しかし、ソフトウェアがどれだけの作業を行うかは、それを際立たせるものではありません。注目に値するのは、ソフトウェアがどれだけうまく機能するかです。このソフトウェアがクラッシュすることはありません。再起動する必要はありません。このソフトウェアにはバグがありません。それは完璧であり、人間が達成したのと同じくらい完璧です。これらの統計を考慮してください:プログラムの最後の3つのバージョン(それぞれ420,000行の長さ)には、それぞれ1つのエラーしかありませんでした。このソフトウェアの最後の11バージョンには、合計17のエラーがありました。同等の複雑さの商用プログラムには、5,000のエラーがあります。

于 2009-02-18T02:43:48.243 に答える
4

テックス?

Knuth は、確認済みのバグに対して引き続き報酬を提供しています。


ところで: Knuth が、本当に堅牢な開発を行うための流行語メカニズムに加入しているかどうかはわかりません。彼がどうやってそれをするのか分かりません。細部へのこだわりだけかもしれません。

于 2009-02-18T01:37:54.237 に答える
4

.NET フレームワーク。

  • 名前空間に「ドットを入れる」と、そのメンバーがまさに期待どおりになるのは素晴らしいことです。
  • それは「ジャストワークス」です。
于 2009-02-18T01:38:12.813 に答える
2

Boostライブラリ

于 2009-02-18T01:27:28.910 に答える
2

他の投稿の多くは、TDD で実装されていないプログラムについて言及しているため、「良い TDD/SOLID/その他がどのように見えるかを掘り下げて確認したい」という回答はありません。たとえば、Apache HTTPD サーバーと Firefox のソースが TDD を見たことがないことは、私は非常に確信しています。私は彼らのソースを少しブラウズしただけで、test フォルダーにはいくつかの小さなファイルしかなく、製品コードは TDD で書かれたようにも、SOLID に従って書かれたようにも見えませんでした。

たとえば、Fitnesseは SOLID の発明者によって TDD を使用して記述されています。これは、そのようなコードがどのように見えるか、特にコードの新しい部分の良いリファレンスになるはずです (彼の著書Clean Codeで、ボブおじさんは Fitnesse からの悪いコードの例をいくつか持っています。フィットネスはきれいです)。

私自身のプロジェクトDimdwarf Application Serverも投入します。これは TDD/BDD で 100% 書かれており、可能な限りクリーンなコード (SOLID などに従う) を書くように努めています。そこには醜い部分もいくつかありますが (主にタスク スケジューリングとガベージ コレクション)、それらの部分はまだ作業中であり、これらの機能が完了するまでにクリーンアップされる予定です。

于 2009-03-06T16:38:02.380 に答える
0

グーグルクローム

于 2009-02-18T01:32:28.040 に答える
0

アパッチ httpd.

  • 掃除
  • 単純
  • 機能的

また: Graphviz - パワー、一貫性、シンプルさの素晴らしい例です。

私が今まで見た中で最高のピース コードは妥当性でした。それは真のエレガンスと美しさを備えたものに仕上げられていました。しかし、残念ながら匿名のままにしておく必要があります。

ところで:単純化できる巨大なインターフェース/ APIは、定義上、しっかりと設計されていません。そして、多くの企業にとって、大きく醜いインターフェイスは、ますます大きくなり、醜くなります。

ポール。

于 2009-02-18T02:13:17.583 に答える