BUAA_OO_最初の単位エッセイ
この記事では、5のジョブ要件に従って分析することの5つのモジュールに分割されます。
彼らのプログラムの構造を解析するための測定基準に基づいて、
まず、当然のことながら、UMLの一般的な構造への表情で始めます。
POLYは、アイテムが、構造を設計するために多項式を周りにある因子は、ポリ因子が因子であり、多項式、アイテムがキーであり、MyConstは私の一定のクラスである。図から分かるように、私の設計は、3つの要素に分割されていますそのようなので、上の正規表現との一致率として頻繁に使用される定数の多くを置くています。ファクターは、力率、SinFactor、CosFactorこれら三つの要素に分けられ、実際には、これは、ジョブの要件の要因三十五種類、他の二つは、一定の係数と表現を締結しているで、特別なセットこれらの2種がありません。
これは、11クラスのための私の分析で明らかに最高の工場の中でOCavgの複雑さは、確かに、それは文字列処理操作の多くは、正規表現のマッチングを行っている、と多くの人が横断している、見ることができますしかし、項目およびポリ二つのクラスのためとして、あるいは我々は多数の存在を介して、他のループ上の簡易操作を完了したいので、この仕事のための60文字は、主におよそ0.2秒で制御し、余裕ができますが、増加した場合、それはかもしれこの場合は、そこTLE、それを最適化することができます。
分析のバグ自身のプログラム
最初の二つは、二つの操作で三回目をバグが動作しませんでした。
- それは出力少なくとも1つのブラケットができ、私自身の文字列一致()メソッドので、私は、パラブラケットにFactor.toString理由により相互テストは、()か否かを判定するための因子として使用することができるあります全体のマッチが、私は最初の試合から期待していなかったと考えられます。
- 私と一緒に罪(1-x)が正当なものであるように、強力な対策のバグは、罪は()カッコポリ(とらなければならない表現要因を忘れて、扱って)、完全に、もありです。
分析:不注意、またはテストは、(テストは、彼の熱意がはるかに良い他のものよりある測定)、この間違ったフォーマットをテスト自分の評価を取るし、マシンを測定することでまたは括弧なしで出てこない、または不適切なテストではありませんでした、不完全である、ライト・コードとき不注意。
政策分析は、彼自身を他の人によって採用されたバグの手順を見つけました
私は2つを使用しました
- xegerとPyが自動化試験に合わせたシェルスクリプト、sympy試験の精度で、データを生成するが、唯一の精度評価は、正しい出力フォーマットを決定することができません
- 手動で入力されたデータにシェルスクリプトを書く、その結果、我々は、特定の例の数、そのカバレッジテストを構築することができるように、「目視検査」、裁判官の正しさを介してすべて出力されます。次の特定を達成するために
- コードの構造は、テスト対象のプログラムと連携して設計されてについては、通常、私はあまりにも長い間、他の誰かのコードを見ていません。
#!/bin/bash
if [ $# -eq 0 ]
then
echo please input your data to hack them
else
ls -d */ > students.txt
cat students.txt |
while read line
do
cd ./$line
head=$line的输出是:
ans=$(echo $1 | java MainClass)
echo $head $ans
cd ..
done
fi
Applicationオブジェクトの作成モード
最初の仕事
最初の操作は、MainClass、ポリ、PolyFactory、これらの3種を取ったPolyFactoryは、工場出荷時のモデルであり、彼はこの2つのクラスに何のデザインを持っていない、それは簡単なファクトリパターンとみなされるべきです。つまり、文字列は、主にこの操作を定期的に試合緩やかな変革と、それを扱います。
副業
そして、実際には二回目は、私の主な仕事は、基本的には、建築設計は、何かが、単一の三角括弧であるという理由だけで、私は別の要因を格納するための規則的な配列を使用し、それは、そんなにようである、形成されたされました効率を向上させるだけでなく、時間をデータ処理のためにするために、すぐに解決することができます。
第3の動作
図UML第2の動作においても同じことが、最大の違いは、工場複素数を処理する文字列は、元の列車が再帰溶液によって変更されることです。そして、パラファクターにおけるこの元素の添加は、三角括弧ポリを保存するために使用しました。だけでなく、同様の項目のいくつかの最適化の合併。
そして、経験を比較します
主に対策のための彼の熱意を向上させる必要があり、今後の設計に多くの時間を過ごすために、多くの時間を節約することができますよくやったコードの拡張性は、他の人が常に測定する必要はありません。