Githubの住所
https://github.com/zhengjinhuai/wc.exe
プロジェクトの要件
- wc.exeは、テキスト文書中の文字、単語、および行数をカウントし、共通のツールです。このプロジェクトは、既存のwc.exeの機能を模倣するために、コマンドラインプログラムを書くように求め、かつ視覚化するGUIを使用している間に拡張すること
- 具体的な機能要件:
- ユーザー要件としてプログラム処理モード:wc.exe [パラメータ] [ファイル名]
- 基本機能:
- wc.exe -c file.cと//ファイルFILE.Cの文字数を返します。
- wc.exe -w FILE.C //の数は、ワードFILE.Cのファイルを返します。
- wc.exe -l FILE.C //は、ファイルfile.cとの行数を返します。
- 拡張機能:
- -sプロセスディレクトリを再帰的に適格なファイルの下で
- より複雑なデータを返す-a(ライン/スペースライン/コメント行)
- 高度な機能:
- -xパラメータ。このパラメータは、単独で使用されます。あなたは、コマンドラインパラメータを使用している場合、プログラムはグラフィカルインターフェイスを表示し、ユーザーがインターフェイスを介して1つのファイルを選択することができ、プログラムは文字など、ライン、すべての統計情報のファイル番号が表示されます。
- たとえば、需要:wc.exe -s -a * .C
PSPテーブル:
PSP2.1 | パーソナルソフトウェアプロセス段階 | 推定時間がかかる(分) | 実際の時間がかかる(分) |
---|---|---|---|
プランニング | 計画 | 20 | 18 |
・見積り | •このタスクが必要と推定どのくらいの時間 | 20 | 18 |
開発 | 開発 | 770 | 850 |
・分析 | ・分析ニーズ | 60 | 70 |
・デザインスペック | 設計ドキュメントの生成 | 50 | 50 |
・デザインレビュー | ・デザインレビュー | 30 | 40 |
・コーディング標準 | ・コードの仕様 | 20 | 20 |
・ 設計 | ・具体的な設計 | 90 | 90 |
・コーディング | ・具体的なコーディング | 310 | 350 |
・コードレビュー | ・コードレビュー | 100 | 110 |
・テスト | ・テスト(セルフテスト、コードを変更し、変更を提出) | 120 | 110 |
報告 | レポート | 140 | 125 |
・ 試験報告書 | ・テストレポート | 60 | 50 |
・サイズ測定 | ・コンピューティングのワークロード | 30 | 20 |
・死後&プロセス改善計画 | ・後知恵、およびプロセス改善計画を提案します | 50 | 55 |
トータル | トータル | 940 | 983 |
問題解決のためのアイデア
トピックは通常、頻繁に使用するコマンドラインプログラム、すぐに思ったargparseコマンドパラメータ解析モジュールを書くように求め、そのため、このプロジェクトを完了するためのpythonを使用することを決めたを参照してください。
- パラメータ、オプション、-c、-w、-l、-s、-a、-xオプションのパラメータ設定を行うargparseモジュール()関数を使用するコマンドラインパラメータを解析し、位置パラメータadd_argumentの絶対パスをファイル
- 境界情報を考慮するよう、同時に用いて、str.strip()メソッド、str.split()メソッドのreadline()関数を使用して、行数などのテキスト文字、単語、情報の処理、中
- 同時に、ドキュメントディレクトリが比較的面倒一致ワイルドカードを使用して、再帰的プロセスので、ワイルドカードの様々な組み合わせがあり、グロブモジュールフィッティングプロセスの使用は、試験手順が耐えられることを保証するために
- 空行とコメントをフィルタリングするため、取り扱いが比較的容易空行と行、コード行の残りの部分。
- コメント行を処理する4例に分割されている:、「複数行コメント記号」、「単一コメント記号」「は、同じシンボル列で複数行のコメント」および「行を開始および終了マルチラインのコメント」(固有のコードを参照コメント)
- 考慮して、異なるプログラミング言語でコメント記号が同じではない、処理が異なるプログラミング言語に対応し、異なる言語の注釈シンボルを格納する設定CONF設定ファイルを選択することが可能です
- グラフィカルなインターフェイスPyQt5を使用してください。それゆえ今、この、ほぼ同じ使い方や他の言語を選択し、pythonのグラフィカルインターフェースの開発より多くの選択肢PyQt5こと
設計と実装プロセス
プロジェクトのテスト
- ターミナルテスト
- 単一ファイルテスト中の文字、単語、行、コメント行、空白行、コードの行数
- 再帰クエリテスト
- 再帰クエリと処理
- GUI
-
- コードカバレッジ
- 私は眠い感じ
プロジェクト概要
私がああだと思う......