A.コード仕様とコーディング原則
組版
1.キーワードと事業者間の適切なスペースを追加します。
2.ブロックプラス空行の間の独立した手順
等3.長い文、表現は、記述された複数の行に分割します。
4.パーティションインデントレイアウトきちんとした、読みやすい文を適応するための新しい行。
優先度の低いオペレータ、最初に新しいラインのオペレータに新たな行を分割する5ロング発現。
長い文またはif式6サイクルと判断文は、適応を分割する必要があります。
7.機能やプロセス・パラメータが長い場合、それは適切に分割する必要があります。
8. 1行、一つだけの文を書くのその行に書かれた短い声明を超えることはできません。
9.スタート機能やプロセス、およびサイクル定義構造、コードステートメントの判断は、スタイルをインデントしています。
10.C / C ++言語は、「{」と「}」、プログラムブロックを定義するブレース場合書き込みブロック「{」と「}」すべき各個別の行と同じ列に、左とそれらを参照しながら文アライメント。構造のクラス定義の定義、および列挙の定義の関数の先頭で行う、のために、場合、しばらく、スイッチ、ケースのインデントを使用して上記のようにステートメント必須手順。
注記
1.ノートはシンプルで簡単です。
2.サイドエッジライトコードコメントは、注釈付きコードとの整合性を確保するために、ノートを修正すると同時に、コードを変更します。
3.必要な場合には、注釈、適度なボリュームに。コメントの内容は、その明確な、明確な、正確な意味を作るために曖昧コメントを防ぐために。記述コード隣接保持ノートは、すなわち、近接原理を注釈します。
コードがない底部に、上部位置に隣接して配置されなければならない。4.注意。
5.メモデータ構造がその上方位置に隣接して配置する必要があり、以下に配置することができない。各フィールドの構造への注釈は、このドメインの右側に配置されるべきである。異なるドメインを整列させるために同じ構造を留意されたいです。
それはノートまたは右方向の隣接した位置の上方に前記変数は、定数が配置されるべきです。
7.グローバル変数は、それが機能や手順や注意事項は、図にアクセスしてアクセスするにはその機能、範囲を含め、より詳細な注釈を持っています。
8.注意備え、各ソースファイルのヘッダに必要な情報を持っている:ファイル名、バージョン番号を、OF、作成日付、(例えば、主アルゴリズム、内部モジュールの機能の部分で説明された機能の関係、ファイル他のファイルなど)との関係;メイン関数またはプロシージャのリストと、このファイルの履歴レコードを変更します。
;機能説明、入力、出力、および戻り値;説明と呼ばれている関係との関係を呼び出す関数またはプロシージャ名を各目の前で9であって、関数や手続きに必要なコメント情報を持っています。
名前
1.短い単語は略語「母音」を除去することによって形成することができます。
2.好ましくは長い言葉優先毛切断の最初のいくつかの単語、およびオペレーションの括弧列の明示的な表現は、デフォルトの優先度を使用しないようにします。
可読性
1.代わりに意味の同一性、容易に理解デジタルの使用を避けます。
2.理解することは難しい高いスキルステートメントを使用しないでください。
3.ソース・プログラム・コードとの間の関係がより密接に隣接できるだけべきです。
変数
1.不要なパブリック変数を削除します。
2.同じ現象共通の変数を作成するために、関連するモジュールの残りの部分または機能のみパブリック変数にアクセスしながら、唯一つのモジュールまたは機能が異なるモジュールまたは機能の数を防止するために、作成、修正することができる修飾することができる構築物。
3.慎重かつ明確に共通変数の意味、役割とパブリック変数の範囲との関係を定義します。
このようなアクセスなど4.明確な広報関数や変数のプロセス変数と、この公共の操作は、変更などで作成し。
5.不当な値や国境を越えた現象でとても恵まれ防ぐために非常に注意しなければ、パブリック変数にデータを渡します。
6.同じ名前およびパブリック変数とローカル変数を防ぎます。
注意深く設計された構造体の構造の要素の順序の配置を容易に理解することができる7、スペースを節約し、誤用によって引き起こされる現象を低減することができます。
8.を検討しようと上位互換の後続バージョンアップ、および(など、いくつかのスペースを確保して)保持余裕の可能な将来のアプリケーションように設計された構造。
データと関連する詳細情報の異なるタイプの9慎重かつ特定の言語コンパイラの原則。
10.初期化されていない変数を使用しないでください。同時に、変数の宣言は、変数を初期化します。
11.プログラミングは、データ型をキャストするために注意を払います。
Functionプロシージャ
1.未満200行の機能の大きさを制限してください。
2.機能は、最高の唯一の機能を実行されます。
関数を記述3.することは簡単な関数です。
4.関数関数であれば、入力データは、同じ出力を生成しなければならないように、すなわち同一の、予測可能であるべきです。
5.達成するために他の内部の機能に依存する関数を記述しないようにしてください。
複数のパラメータの関数を設計6.避けは、パラメータが使用される界面から除去されません。
7.範囲およびパラメータ詳細なコメントと各パラメータとの間の関係の効果。
8.すべての入力パラメータ妥当性チェック機能。
そのようなデータファイル、パブリック変数として入力パラメータ、9すべての非妥当性チェック機能。
10.関数名は正確に機能させる機能を記述する必要があります。
無意味またはあいまいな動詞に機能という名前の使用は避けてください11.
ユーザーが簡単にエラー条件を無視しないように、明確な、クリアする12関数の戻り値を。
13 /正確な特定機能、(よりむしろ約)機能が実現するように設計されています。
14.再帰関数自体または関数呼び出しの間に減少しました。
15.書き込み機能は、リエントラントである、グローバル変数の使用は、割り込み、信号量(即ち、P、V動作)と、それらを保護するための他の手段によって閉鎖されるべきです。
テスト容易性
1.コードを書き込む前に、設計方法及び手段が試運転、デバッグおよびテストに予めプログラムされ、そのようなプリント機能等のスイッチと対応するテストコードの良い品種を設計すべきです。
2.優れたテスト環境、テスト項目やテストケースを作成し、慎重に分析し、テスト効率を向上させるためにテストケースを最適化するために、統合テスト/システムFBIを行う前に。
効率化プログラム
1.编程时要经常注意代码的效率。
2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。
3.不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。
4.编程时,要随时留心代码效率;优化代码时,要考虑周全。
5.要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。
6.通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。
7.在多重循环中,应将最忙的循环放在最内层。
8.尽量减少循环嵌套层次。
9.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。
10.尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。
质量保证
1.在软件设计过程中构筑软件质量。
代码质量保证优先原则
(1)正确性,指程序要实现设计要求的功能。
(2)稳定性、安全性,指程序稳定、可靠、安全。
(3)可测试性,指程序要具有良好的可测试性。
(4)规范/可读性,指程序书写风格、命名规则等要符合规范。
(5)全局效率,指软件系统的整体效率。
(6)局部效率,指某个模块/子模块/函数的本身效率。
(7)个人表达方式/个人方便性,指个人编程习惯。
2.只引用属于自己的存贮空间。
3.防止引用已经释放的内存空间。
4.过程/函数中分配的内存,在过程/函数退出之前要释放。
5.过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。
6.防止内存操作越界。
7.时刻注意表达式是否会上溢、下溢。
8.认真处理程序所能遇到的各种出错情况。
9.系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。
10.系统运行之初,要对加载到系统中的数据进行一致性检查。
11.严禁随意更改其它模块或系统的有关设置和配置。
12.不能随意改变与其它模块的接口。
13.充分了解系统的接口之后,再使用系统提供的功能。
14.要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。
15.不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。
16.建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:
(1)充分了解应用接口、使用环境及使用时注意事项。
(2)不能过分相信其正确性。
(3)除非必要,不要使用不熟悉的第三方工具包与控件。
代码编译
1.编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。
2.同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。
3.合理地设计软件系统目录,方便开发人员使用。
4.打开编译器的所有告警开关对程序进行编译。
5.在同一项目组或产品组中,要统一编译开关选项。
6.使用工具软件(如VisualSourceSafe)对代码版本进行维护。
代码测试
1.单元测试要求至少达到语句覆盖。
2.单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。
3.清理、整理或优化后的代码要经过审查及测试。
二.数据库设计
三.ER图
四.主要功能流程描述
五.作业分工
史浩欣:代码规范及编码原则
朱苏洵:数据库设计
温秀连:ER图
周黎:主要功能流程描述
六.组员贡献分
史浩欣:10分
朱苏洵:10分
温秀连:10分
周黎:10分