DBPO代码规范.docx

上传人:b****8 文档编号:28511929 上传时间:2023-07-18 格式:DOCX 页数:23 大小:139.21KB
下载 相关 举报
DBPO代码规范.docx_第1页
第1页 / 共23页
DBPO代码规范.docx_第2页
第2页 / 共23页
DBPO代码规范.docx_第3页
第3页 / 共23页
DBPO代码规范.docx_第4页
第4页 / 共23页
DBPO代码规范.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

DBPO代码规范.docx

《DBPO代码规范.docx》由会员分享,可在线阅读,更多相关《DBPO代码规范.docx(23页珍藏版)》请在冰豆网上搜索。

DBPO代码规范.docx

DBPO代码规范

FTIプロジェクトコーディング仕様書

タイプ:

A–Add(追加),M–Modify(修正),D–Delete(削除)

日付

バージョン

タイプ

担当者

2010-5-16

1.0

A

Deiva

2010-6-12

1.1

M

Deiva

1DBコーディング(SQL)

テーブル(Table)

1)テーブルを英語フォントの小文字で、下線で繋いで命名する。

(project_module_item)

例えば、プラットホームにてのシステム・アカウント・テーブルplf_sys_accountの場合は、

メモ

plf

プラットホームモジュール或はプロジェクトに属す。

sys

システムモジュールに属す。

account

ストアする場所。

2つ又はそれ以上のモジュールがあれば、命名は、project_module1_module2_itemだ。

2)テーブル間の関係

カラム(Column)

1)カラムの命名は、英語の単語でカラムの意味を一見ですぐ分かるようにする。

(数字、符号、スペース、中国語、ピンインなどの文字が禁止)。

例えば、クライエントの名前というカラムは、ClientNameと命名する。

2)パブリックに定義したカラムの命名

カラム名

ソートID(SortingID)

SortId或はTypeId

ソートネーム(SortName)

SortName或はTypeName

親ID(Parent’ID)

ParentId(ツリーディレクトリのテーブル構造に使用)

並び順ID(OrderingID)

OrderId

時間の追加

AddDateTime

時間の更新

UpdateDateTime

時間の最後更新

LastDateTime

有効期日

ValidDateTime

オーバー期日

ExpireDateTime

訪問回数

Hits(クリック回数を記録)

メッセージ(内容)タイトル

Title

テーマ

Subject

メッセージ詳細

Content(Titleとツインで)

訪問するIP

ClientIP

審査状態ID

ConfirmId

サムネイルアドレス

ThumbSrc

単一アタッチメントアドレス

AttachmentSrc

単一アタッチメント名称

AttachmentName

ファイルアドレス

FileSrc

ファイル名

FileName

外部リンクアドレス

LinkUrl

有効するか(アクティブにする)

IsActivity

BOOLフィールド

boolen

フィールドは、必ずIsが先頭、例えば

表示するかIsShow;

トップに置くかIsTop;

返事するかIsReply;

リードしたかIsRead

プライマリー・キー(PrimaryKey)

INT

DBで自動的に増加する。

String(Varchar)

バリューのフォーマットは、yyyyMMddHHmmssfff+IP(Host)+QueueIdで、全部で38digitだ。

メモ

yyyyMMddHHmmssfff

カレントシステムのDateとTime、ミリセカンドも含まれ、全部で17digitだ。

yyyy–年は4digit

MM–月は2digit

dd–日は2digit

HH–時は2digit

mm–分は2digit

ss–秒は2digit

fff–ミリ秒は3digit

IP(Host)

カレントマシンが使用しているIPは、V4で、全部で12digit。

中には「.」がないこと。

例えば、IPは、172.31.9.1で、バリューは172031009001べきだ。

QueueId

カレントマシンのキュー・ライン番号(或はIP)は、データごとの開始処で再計算すべきで、全部で9digitだ。

itshouldbere-calculatedatbeginningofeachdate.0000000001から開始する。

Index

デフォルトは、システムに定義されたものだ。

プロシージャ(Procedure)

1)プレフィックスネーム(prefixname)+マスタネーム(maintable)+アクション(action)で命名する。

ルールは、p_project_module_item_actionのようだ。

例えば、プラットホームにてのシステム・アカウント・テーブルへの更新アクションの場合は、p_plf_sys_account_updateで命名する。

メモ

p

プレフィックスネーム。

プロシージャのことだ。

plf_sys_account

このプロシージャのマスタテーブルの名。

update

アクション。

アクションのコードは、

アクションコード

メモ

update

insert

delete

count

Calculatesometables

2)DBにて定義された全てのキーワードは、大文字で、SELECT,UPDATE,DELETE,IN,NOT,LIKE,AND,OR,ASC,DESC,ORDER,BY等のようだ。

3)英語でパラメータに命名する。

頭文字を大文字にする。

例えば、

4)実行するSQLへのコメント

5)実行するSQLへのフォーマット化

ビュー(View)

プレフィックスネーム(prefixname)+マスタネーム(maintable)+アクション(action)で命名する。

ルールは、v_project_module_item_actionのようだ。

例えば、プラットホームにてのシステム・アカウント・テーブルの関連バリューをリストしようとする場合は、v_plf_sys_account_listで命名する。

メモ

v

プレフィックスネーム。

ビューのことだ。

plf_sys_account

このプロシージャのマスタテーブルの名。

list

アクション

トリガー(Trigger)

プレフィックスネーム(prefixname)+テーブルネーム(tablename)+トリガー(trigger)で命名する。

ルールは、g_project_module_item_triggerのようだ。

1つのテーブルには、1つのトリガーしかない。

SQLコーディング

1)DBにて定義された全てのキーワードは、大文字で、SELECT,UPDATE,DELETE,SET,IN,NOT,LIKE,AND,OR,ASC,DESC,ORDER,BY等のようだ。

例えば、

2)「=」でバリューをセットする場合には、「=」の両辺ごとには、1つのスペースが必要だ。

3)「0」或は「1」で、ブールカラム(BooleanColumn)にバリューをセットする。

例えば、

2ページ コーディング(PageCoding)

HTMLページ、ASPXページ、JSファイル、CSSファイルのためだ。

ファイル フォルダ(FileFolder)

ProjectModuleTable のようなパスでフォルダに命名する。

ASPXファイルネーム(ASPXFileName)

英語で命名する。

頭文字を大文字にする。

ファイルページ

ルール

サンプル

データリストページ

DataListingPage

MainTable+s+.aspx

Accounts.aspx

データディテールページDataDetailPage

MainTable+Info+.aspx

AccountInfo.aspx

データインサート或はアップデートページ

DataorUpdatePage

MainTable+Act+.aspx

AccountAct.aspx

データインサートページ

DataInsertPage

MainTable+Add+.aspx

AccountAdd.aspx

データアップデートページ

DataUpdatePage

MainTable+Edit+.aspx

AccountEdit.aspx

データデリートページ

DataDeletePage

MainTable+Delete+.aspx

AccountDelete.aspx

データオーダーページ

DataOrderPage

MainTable+Order+.aspx

AccountOrder.aspx

データベリファイページ

DataValidatePage

MainTable+Checker+.aspx

AccountChecker.aspx

データピックアップページ

DataPickupPage

MainTable+Picker+.aspx

AccountPicker.aspx

データ非同期ロードページ

DataSYNCLoadPage

MainTable+Loader+.aspx

AccountLoader.aspx

コントロールネーム(ControlName)

プレフィックスネーム(小文字)+カラムネーム(或はアクションネーム)でページ内のコントロールごとに命名する。

「カラムネーム」は、自分のカラムにセーブするインプットボックスのバリューだ。

ControlType

Prefixname

input(text)

textarea

asp:

TextBox

tb

Input(check,radio)

cb

select

asp:

DropDownList

dd

asp:

Label

lb

Hiddencontrol

hd

例えば、

多数のコントロールは、「/>」でコントロールをエンドする。

例えば、

(正しくないサンプル)

(正しいサンプル)

HTMLコンテンツ(HTMLContent)

全てのHTMLコードは、小文字だ。

1)の後ろにある、HTMLの一番目のエレメントは、インデントしないこと。

2)親とサブの関係があるエレメントは、[Tab](キーボードの「Tab」キー)でインデントする。

例えば、

,,

に、ただ1つのエレメントしかないなら、一行にする。

で終わる。

3)

Javaスクリプト(JavaScript)

全てのスクリプトブログは、[type]プロパティを宣言すべきだ。

[text/javascript]のようだ。

関数又は、メソッドの後ろに「{」を置く。

Toreferenceordeclaresomestrings,ituses''(singlequotes),nottouses""(doublequotationmarks).文字列を参照或は宣言する時、シングルクオートだけ使え、ダブルクオートが使ってはいけない。

3CSコーディング(CSCoding)

システム開発は、3つのレイヤー構造に従うべきだ。

UI、BLLとDALだ。

構造は、

UI-ページ(UI-Pages)

1)ファイルネームのルールは、ASPXのと同じです。

2) .NETシステムが持っている参照は前に、非.NETシステムの参照は後ろに、最後は第三者参照です。

A-Z順序で並べること。

プログラムで使用していない参照はUsing部分に出てはいけません。

Using参照とプロジェクトの名前空間の間は一行空くこと。

  

3)名前空間、クラスとメソッドの名前は、英語の単語を使って、頭文字は大文字で命名します。

ファンクションの意味を易しく理解できるためです。

 

4)HTMLにより、データをバックグラウンドプログラムへバックさせます。

こそにより、データを差し出します。

ButtonID="btnSubmit"runat="server"/>ではない。

だから、ページCSコードは以下のようにです。

PageHttpPostBack()というメソッドを使って、バックしたデータをプロセスします。

5)ページCSコードにASP.netコントロールを宣言します。

ASPXページには、

TextBoxid="tbParamAppSettingTypeId"runat="server"/>

TextBoxid="tbItemKey"class="tbItemKey"runat="server"/>

StaffPickerID="tbStaffPicker"runat="server"/>

CSページには、

(全てのASP.netコントロールは、protected且つfullNameSpaceに宣言すべきです。

UI-コントロール(UI-Controls)

1)ファイルネームのルールは、MainTable+ValueType+ControlType+.cs.

2)ValueTypeは、ある時は使いません、ある時は要求によって使います。

3)ControlTypeは、下記のように宣言します。

ControlType

Prefixname

Default継承

List

全てのデータをリストします。

pagerbarが使いません。

Repeater

SingleList

一部のデータをリストします。

pagerbarが使いません。

Repeater

PagerList

pagerbarを使ってデータをリストします。

BaseDataList

Dropdown

DropDownListcontrolを実施します(select)

DropdownBase

CheckBox

CheckBoxcontrolを実施します(type=”check”).

CheckBox

Name

column’snameを表示します。

例えばSortName.

Literal

Inherit

BelongsTo

Repeater

System.Web.UI.WebControls.Repeater

BaseDataList

LT.Components.Web.Controls.BaseDataList

CheckBox

System.Web.UI.WebControls.CheckBox

Literal

System.Web.UI.WebControls.Literal

(サンプル1、pagerlistingを取るため、ifinheritfromBaseDataListから継承すれば、OnLoadのオーバーライドが必要はありません。

(サンプル2、listingを取るために、repeaterのみから継承されば、OnLoadのオーバーライドが必要です)

BLL

1)ファイルネームのルールは、MainTable+.csです。

2)普通は、staticclassと定義されます。

3)全てのシステムのロジックは、ここで実施します。

4)標準化メソッドは、この名前はIDAL、DALと同じべきです。

MethodName

Memo

GetPagerList

pagerbarを使い、データを取ります。

IList<>でアウトプットします。

GetDictionary

ディクショナリからデータを取ります。

GetList

GetSingleList

GetSingle

このオブジェクトの一行データを取ります。

Get「内容」

多数種類のデータを取ります。

例えば、ネーム(GetName).

Insert

Update

Delete

Order

データを再orderします。

IsExist

多数種類のデータが存在するかをチェックします。

IDAL

1)ファイルネームのルールは、I+MainTable+.csです。

2)Classは、インタフェースで飾るべきです。

Model

1)ファイルネームのルールは、MainTable+Model+.csです。

2)GETとSETだけ実行されます。

DAL

1)ファイルネームのルールは、MainTable+DAL+.csです。

2)何のロジックも含んではいけなくて、DBからデータのリードとDBへのアップデートだけです。

Other

1)パラメータのネーム

a)グローバルパラメータ

publicと宣言し、頭文字を大文字にします。

proectedと宣言し、頭文字を小文字にします。

privateと宣言し、m_+小文字の頭文字の形です。

b)メソッドにての内部パラメータ。

頭文字が小文字です。

2)if、for、foreach、while

コードが一行だけあっても、「{}」ブロックで括る必要があります。

3)Boolean型パラメータは、リテラルには必ずtrueとfalseの2つがあって、Yes/No又は1/0ではありません。

4)「Length」により、エンプティかどうかをチェックします。

5)Delegate

6)thread.

4言語パッケージ(LanguagePackage)

システムが全ての言語パッケージを1つのテーブルに格納すべきです。

テーブルが下記のような型となります。

ParamLanguageId

zh_ch

en_us

ja_jp

pub_lbl_identity

主键

Identity

主キー

pub_btn_save

保存

Save

保存

システムが主キーにより、言語値をDBから取ります。

言語主キーの定義されるルールは、project_type_itemです。

例えば、あるリスティングページにて、トランザクションのバーコードの場合は、主キーはtrans_lbl_barcodeとすます。

「project」の定義されたコードは、下記のようになります。

Project

Code

public

Ifwoulduseinanyothermodules

pub

Platform

plf

Transaction

trans

StaffManagement

sm

「Type」の定義されたコードは、下記のようになります。

Type

Memo

lbl

ラベル。

テキストの表示用

btn

ボタン

msg

メッセージ。

警告メッセージ或は、ページのタイトルのため

menu

メニューのナビゲーション

「Type」の定義されたコードは、

英語のワードで言語の意味を定義します。

複数ワードがある場合には、一番目のワードは小文字にして、次のワードが頭文字を大文字にします。

例を挙げては、pub_msg_inputNotEmptyのようです。

5ProgramRemark

全てのプログラムのremarkの意味を定義する用のものです。

プロシージャもSQLもCSコードとJSコードも。

Name

Memo

ADD

プロジェクトロケーションも含まれてファイルネーム

02

この操作、ファンクションに関する記述

03

このファイルの操作者

04

このファイルの操作日

05

このファイルのカレントのバージョン。

フォーマットは、yyyyMMdd-01です。

yyyyMMdd–カレントの日付

01–ある日のキュー番号

06

関連するモジュール

07

00

コードに初めて入れたコメント

MOD

修正に関しての初めてのメモ

ファイルの開始部分

これは、ASPXファイルとCSコーディングファイルとJSコーディング向けるだけです。

この3つが主な情報を宣言する用で、修正の詳細が含まれません。

フォーマットは下記のようです。

/***************************************************************************

*FL#:

WF0010001

*VER:

1.00

*REF:

CM0020004

*ADD:

---------------------------------------------------------------------

*DES:

thedescriptionofthisfunction

*ATU:

theauthor(whooperatesthisfile)

*DTE:

whenoperatesthisfile(yyyy-MM-dd)

*VER:

thecurrentversionofthisfile(yyyyMMdd-01)

***************************************************************************/

1)ASPXファイルには、「<%%>」でメモを括ります。

2)CSファイルをJSファイルには、「/**/」でメモを括ります。

メソッド又はプロシージャのヘッダ

サンプル1

/*

*ADD:

---------------------------------------------------------------------

*DES:

thedescriptionofthisfunction

*ATU:

theauthor(whooperatesthisfile)

*DTE:

whenoperatesthisfile(yyyy-MM-dd)

*VER:

1.00

*MOD:

---------------------------------------------------------------------

*DES:

thedescriptionofthisfunction

*ATU:

theauthor(whooperatesthisfile)

*DTE:

whenoperatesthisfile(yyyy-MM-dd)

*VER:

1.01

*

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

全部Tabでのインデントが必要だ。

に、ただ1つのエレメント(一種類の文字或は、1つのHTMLラベル)だったら、直接