第二の実験---ペアプログラミング

まず、実験の目的:

1)経験と彼らがアジャイル開発に取り組んでいます。

2)個人的なプログラミングのスキルと実践がさらに向上します。

第二に、実験的なコンテンツ:

1)問題、運動ペアプログラミング(ペアプログラミングの次の説明)プラクティスによれば、

2)ペアでの仕事、自由な組み合わせに学生を必要としています。各グループは、2つの共通の完全な実験的な要件をコードする、コンピュータを使用しています。

3)4、少なくとも両方のスイッチングロール、プログラミング中に対を必要とします。

4)プログラミング言語は、バージョンが限定されるものではないが、これらに限定されません。PythonやJavaプログラミングを使用することをお勧めします。

第三に、問題の説明

**生命游戏**

生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。

游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。

游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:

每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;

如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;

如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变;

在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。

第四に、最初のビジョンや双晶

1.アジャイル開発とペアプログラミング

アジャイル開発のユーザーのニーズには、ソフトウェア開発のためのコア、反復的、漸進的なアプローチとして進化します。初期構築物におけるアジャイル開発ソフトウェアプロジェクトは、視覚的に、各サブプロジェクトの成果は、テストされているサブプロジェクトの複数に切断され、統合された機能を使用して実行することができます。言い換えれば、このプロジェクトは、相互に接触し、多数に分割して、だけでなく、小規模なプロジェクトとは独立して実行することができ、使用可能な状態になっている本ソフトウェアの過程で完成しました。
ペアプログラミング技法を使用すると、相乗効果を達成するために働くことができる、非常にシンプルなコンセプトで直感的です。人々はすでに一人の時間を作業に慣れている場合は特に-しかし、人々の間の協力は簡単な作業ではありません。ソフトウェアプログラミング技術の開発の実装結び目の利点は、プロジェクトますが、これらの利点は、思考と計画を真に反映することができます注意しなければなりません。一方、2経験豊富な人は何をしませ転送する際にそのペアプログラミングのスキルを見つけるが、それらは彼らがより早く解決策を見つけるために、作るの抽象化の異なるレベルで同じ問題を解決し、少ないエラーで許すことができます。
2.ペアの状況の
目標:ライフゲーム
保管:https://www.github.com/localhost999/shengmingyouxi
乗組員のブログ:
シェン青ファン:https://www.cnblogs.com/egoista/
趙臨海:HTTPS:// WWW。 cnblogs.com/zlh13437/
3.ディスカッショントピック
1)コード仕様。
使用する言語で書かれたJavaです:注釈仕様、ファイル名の指定、クレームルール、およびプログラミングのルール。
2)早期締結
生と死の変更を取り巻く状況に応じて細胞内でのライフゲーム、ドットの2次元配列に格納し、それは生と死の二つの状態を持っているので、ドットは、ブール配列に設定されています。ランダムな初期ランダムライブラリーへ。より良い経験のために、私たちは少し深く行ってきましたスイング・プログラミング・インターフェース学ぶために。設計に基づいてコアアルゴリズムの議論については、より詳細な議論を終了します。
3)デザインアイディア

グラフLR A [game_of_life] - > B(開始)A - > C(停止)A - > D(継続)B - > E(ランダム初期状態点セルの真/偽)E - > F(アルゴリズムの更新状態を基準として)E - > H(記録セルがxibaoにステップ数ステップ)C - > J(対照の破壊スレッド)D - > J()の制御のスレッドを壊します

V.ペア段階

グラフTD X [Game_Life] - > AX [Game_Life] - > BX [Game_Life] - > CX [Game_Life] - > DX [Game_Life] - > EA [xibaoztクラス] - >(細胞死および初期化)B [ウィンドウの種類] - > B(インタフェースデザイン)C [suanfaクラス] - > C(セル更新)D [メインクラス] - > D(メインクラス)E [表示クラス] - > E (表示画面の細胞死)

インターフェイスのデザインとxibaoztデザインに始まったプロジェクトのレベルでの一般的な結論とラフな議論を通じて双晶のQQは、チームメンバーによると、ウィンドウクラスのため、比較的容易に完全にすることができ、私はオンラインチュートリアルを振りますそして、テンプレートが3つの応答関数の開始、継続、停止してベースのインタフェースを設計しました。アルゴリズム的に、我々の議論を通じて、クリアするために、細胞死の状態は、二次元アレイstate_oneに記録され、その後、2つのサイクルを介して、黒と白のセルの色相に対応したインターフェースの状態を決定するためのものである(クラスの実装を表示します)、それによって、更新を完了し、カウントされたカウントで。最後に、メインクラスの呼び出しを完了します。







VI。結果が報告されています

VII。実験の概要

実験は、特別の事情がある場合において、唯一時には、単純なことが、私たちはプロジェクトのより多くの議論が必要双晶が、私は、ロジックとの共同アジャイル開発のより深い理解を持って聞かせすることができます矛盾は、コードを持っていますが、コードの実装を標準化に役立つはずです。私たちの時間が固定されているので、また自宅で、そのコードは非常に遅い進歩はあるが、結果は良好でした。より身近なJava言語の選択が、書き込みのリアルタイムは、まだ情報へのアクセスを必要とするいくつかの場所では、テンプレートのセットは、書かれた、またはすぐにさびてきたようには見えません。

おすすめ

転載: www.cnblogs.com/egoista/p/12631932.html