2009-06-02 7 views
2

私は数年前からTDDと(ある程度の)XPを練習してきましたが、私が以前採用していた問題の多くを解決していることがわかりました。非常に多くの頭痛を取り除くことで、私のコーディングに対する愛は若返りました。問題は、これらの手法を利用した.NET(私の現在のスタック)プロジェクトを見つけるのが難しいことも発見したことです。どのコミュニティ(言語/フレームワーク)がアジャイル・プラクティスを最も受け入れていますか?

私のSOコミュニティの質問は: tdd、(すべてのxDDの本当に)xp、ciなどのようなアジャイルなプラクティスを、どのコミュニティ(言語やフレームワーク)が受け入れると感じていますか?

この質問については、測定方法を定義する必要があります。

(アジャイル方法論を受け入れ、現在のプロジェクトの数)/(現在のプロジェクトの数)は、おそらくこれが決定することは不可能であるが存在しないデータなし明らか

:私は与えられたコミュニティ/スタックのためにそれを定義します。 ..私は人々の認識を探しているだけです

答えて

2

私は、RailsとDjangoの両方のキャンプに足を持っています。私が見るところから、Railsの人々は実際にテストを受けます。ブログでのテスト、会議でのテストについて話したり、アプリのRails以外の部分をテストするための興味深いテストツール(ScrewUnitなど)を公開したりします。 Railsコミュニティに参加してテストするのは本当に難しいです。

Djangoコミュニティは、テストのフロントで遅れています。 Djangoはテストのための基本的なサポートを提供しますが、あなたはそれを探す必要があります。現在のDjangoの本はどれもテストに脚注を付ける以上のものではなく、Djangoコミュニティのメンバーからのブログをどのようにテストするのかはめったにありません。最初のDjangoConでテストに関する話はなかった。

Railsの人々は、MonkeypatchingやGemのバージョンの競合(または矛盾するMonkeypatchingを行っている宝石やプラグイン)への混乱を招く可能性が非常に高いため、自動化されたテストが不可欠です。私が見たDjangoのプロジェクトでは、同じ問題に遭遇するのが難しいため、スケートすることができました。

他のアジャイルプラクティスについては、日常的に多くのプロジェクトの内部を覗き見ることができなければ、言うことは難しいです。

+0

私は観察に同意しますが、私は「サルパッチ」を避けるだけでは包括的なテストをしないと言い足りるとは思いません。メタプログラミングかどうかにかかわらず、TDD(または一般的なテスト)は、コードの連続的な進化にとって重要な必要条件です。私はDjangoコミュニティが一般的に高品質なコードを書くことに本当に興味がないことを認めなければならないと思います。 – hspandher

+0

これは2009年の回答でした。むしろ多くは変わった。 Djangoで利用可能なテストアフォーダンスはかなり良いです。人々がそれらを使用するかどうかは別々の質問であり、Djangoではなく、多くのコミュニティで一般化されるものです。 –

1

私はこれらのワークフローが特定の言語に縛られているとは考えていませんし、必ずしもこれらのワークフローにどのような言語も適しているとは思いません。これに対する逸脱は、主に文化的なものです。

たとえば、標準的なレールプロジェクトのスケルトンは、書き込みテストやTDDを使用することで非常に低い障壁を持っていますが、NUnitを取得してTDD .NETプロジェクトを作成するのを止めるものは何もありません。ここで

あなたが研究に興味があるかもしれないいくつかの.NETツールです:

ユニットテスト:

継続的インテグレーション:

+0

私は完全に同意します。しかし、それが私が文化について尋ねている理由です。 – Lee

+0

@Lee:文化と関係がある場合は、「コミュニティ」が最も敏捷であるかどうかを停止して測定することがどれだけ敏捷であるかを尋ねる必要があります。どのようにどのコミュニティがそれを測定する時間がかかったのでしょうか?どの単体テストが失敗し、それらを止めて測定したか? –

+0

私は一般的に、コミュニティが最近のポピュラーなプラクティス/方法論を受け入れるのがより容易であると思っていますが、最近人気のある言語/フレームワークを受け入れる可能性も高くなります。だから、RubyでFortranよりTDDをやる人が増えています。 – anthony

2

communitryで、これは他に何がコミュニティであるとして、本当に、ここではいくつかのグループがあり、人々についての場合:

Agile Project Leadership Networkが、それはアジャイルアプローチを包含することが、名前に意味を持っています。

Alt.Netは、さまざまなアジャイルの習慣を持ち、さまざまな結果を得ることができるグループとして私を襲います。いくつかは好きかもしれないし、いくつかは問題を抱えている可能性があるためです。

アジャイルは通常、特定のテクノロジではなくプロセスに関するものです。あなたの質問が、アジャイルを採用している企業の技術やフレームワークについて詳しく知りたいのであれば、それは私の心に疑問のあるワックスのボールです。アルバータ州カルガリーの私の近くの会社は、アジャイルを取り入れて、他のものと大きく異なるかもしれません。インドのバンガロール、ロンドン、英国、シリコンバレー、ニューヨーク、ニューヨーク、シアトルのワシントンには、開発者がいる場所がいくつかあります。近くにいる場合はThoughtworksのような企業がアジャイル彼らがオフィスを持つ大都市。

また、いくつかのテクノロジがさまざまなサブコミュニティやサイズを持っていて、ここで物事が曇っている可能性があると考えることも考えられます。たとえば、アジャイルを取り入れた多くのJavaおよび.NET開発者や、それを嫌う多くの開発者がいます。一部の企業でウォーターフォール手法がうまく機能している場合、なぜアジャイルに切り替えるべきなのでしょうか?同時に、いくつかの技術は本当に小さなコミュニティを持つかもしれないので、彼らははるかに異なる視点で見ることができます。それがあなたの心の要素であるならば、これら新しくて新興の技術を使っている人々がいかにうまく組織化されているかもまたあります。私はルビー/レールコミュニティがテストのカッティングエッジを推進していることを発見した私のやや限られた経験から)

+0

このJBに感謝しています。私はあなたが私の質問のポイントを見逃しているかもしれないと思う。開発者として私は個人的にこれらのプラクティスが極めて有用で生産的であると感じています。私の質問は、アジャイルなプラクティスの議論ではなく、人々の経験から抜き出して、どのスタックがこれらの方法論(特に上記のもの)を利用してチームと仕事をする可能性が最も高いかを判断することでした。 – Lee

+0

あなたの質問の一部は、地理のような私の心にいくつかのことを無視しています。それは、それがあなたが側で趣味ではなく実践を使用したい場所であると仮定して、仕事を学ぶ方法です。余分な時間にオープンソースソフトウェアをより良くするためにAgileのプラクティスを使う人はいますか?おそらく、それはあなたが意味する事件のようなものでしょうか?あなたが雇用を次元として導入すると、あなたはネットワーク化されているか、そこにいる求人者があなたがアジャイルの意味を理解しているかなど、新しいことがいくつかあります。センス。 :) –

1

;

がうまくいけば、誰かがこの脳ダンプ面白い...を見つけました。新技術を導入し、TDDとBDDのコンセプトを大部分のものに統合します。一方、PHPはやや不安です。いくつかのグループは宗教的にそれを使用しています。 PHPのツールセットは、Rubyの& Railsコミュニティと同じくらい強く、深くは見えません。

YMMV。

関連する問題