ホームページ  >  記事  >  ウェブフロントエンド  >  キャメルケースの命名とJSに関するQ&A

キャメルケースの命名とJSに関するQ&A

php中世界最好的语言
php中世界最好的语言オリジナル
2017-12-04 14:57:492458ブラウズ

今回はキャメルケースのネーミングとJSでのキャメルケースのネーミングの使い方、使用前の注意点について説明します。

キャメルケースの名前付けを使用する前の注意事項: 1. Javaオブジェクト指向プログラミングの特性により、名前を付けるときは名詞を選択するようにしてください

変数名または関数名が1つ以上の単語で接続されている場合、および一意の識別単語を形成する場合、単語の最初の文字は小文字で始まり、各単語の最初の文字は大文字になります (最初の単語を除く)。

例: myFirstName

1 パッケージ名の記述仕様(パッケージ) パッケージ名の接頭辞として、企業または組織のトップレベルドメイン名を使用することを推奨します。これは、パッケージの一意性を確保するためです。各企業/機関内で使用される名前。パッケージ名はすべて小文字であり、実用的な区別の意味を持っています。

1.1 一般要件 1. カテゴリの目的をすぐに伝えることができる意味のある名前を選択します。

2. すべてのパッケージ名には小文字の英字を使用する必要があります。

1.2 実践的なアプリケーション階層化は、Dao 層 (データベース アクセス)、サービス層 (ビジネス処理)、Web 層 (ページ コントロール アクション クラス) などのアプリケーション システムでよく使用されます。

1. パッケージ名の最初の数名は、Webサイトの場合はそのWebサイトのドメイン名を逆に表記します。ドメイン名が決まっていない場合は、会社が定めた名前が使用されます。 。例: net.vschool

2. パッケージ名の次の単語はモジュールの名前です。例: ユーザーモジュール、パッケージ名は net.vschool.user

3 モジュールのアクセス操作に関しては、階層形式を採用しており、一般的に次のように分かれています:

Dao レイヤー操作: 一般的に net.vschool で定義されます。 .xxx.dao、xxx はモジュール名です。

サービス層の操作: 通常は net.vschool.xxx.servie で定義されます。

Web 層の操作: 通常は net.vschool.xxx.action で定義されます。

以下はユーザーモジュールの例です:

net.vschool.user
net.vschool.user.dao
net.vschool.user.action
net.vschool.user.service

第2クラス名(Class)の記述仕様 クラス名に複数の単語が含まれる場合は、各単語の最初の文字を大文字にする必要があります。以降の文字は小文字になります。クラスに名前を付けるときは、正確、簡潔、そして理解しやすいものでなければなりません。完全な単語を使用し、略語の使用は避けてください (一般に認識されているものを除く)

2.1 クラスの命名 2.1.1 一般要件 1. クラスの目的をすぐに伝えることができる意味のある名前を選択します。

2. Java のキャメルケース命名方法を参照すると、クラス名の最初の文字は大文字にする必要があります。クラス名が複数の単語の組み合わせである場合、各単語の最初の文字は大文字にする必要があります。例: StudentAnswer.java

3. インターフェースクラスと実装クラスを区別したい場合は、クラスの後に「Impl」を追加します。

例: インターフェイス クラス: UserInterface.java インターフェイス実装クラス: UserInterfaceImp

4. エンティティ クラスにはサフィックス名を付けないことが推奨されます。

2.1.2 階層化は実際のアプリケーションシステムでよく使用される、Dao層(データベースアクセス)、サービス層(業務処理)、Web層(ページ制御アクションクラス)であり、各層のクラス名はできる限りそのレイヤーのサフィックス。

1. Dao レイヤー

a、インターフェイス クラス: JavaBean+Interface+Dao、つまりエンティティ オブジェクト+インターフェイス+Dao の形式で定義されます。

例: ユーザーオブジェクト インターフェイスクラス: UserInterfaceDao、xxx はモジュール名です。

b. 実装クラス: JavaBean+Interface+Impl+Dao、つまりエンティティオブジェクト

+Interface+Impl+Dao の形式で定義されます。 例: ユーザーオブジェクト実装クラス: UserInterfaceImplDao

2、サービス層

a、インターフェースクラス: Xxx+Interface+Service、つまりモジュール+インターフェース+サービスの形式で定義されます。

例: ユーザー管理インターフェースクラス: UserMsgInterfaceServiec

b、実装クラス: Xxx+Interface+Impl+Service、つまり module+Interface+

Impl+Service の形式で定義されます。例: ユーザー管理実装クラス: UserMsgInterfaceImplServiec

3. Web 層 (アクション クラス)

a. 実装クラス: Xxx+Operator+Action、つまりモジュール+オペレーション+アクションの形式で定義されます。たとえば、

User モジュール User+Delete アクション Delete+Action = UserDeleteAction

2.1 変数の命名 2.2.1 通常の変数 2.2.2.1 一般要件 1. 変数の目的をすぐに伝えることができる意味のある名前を選択します。

2. Java のキャメルケース命名法を参照してください。最初の文字は小文字で始まり、各単語の最初の文字は大文字になります (最初の単語を除く)。

2.2.2.2 実践的な応用 1. 変数名の基本構造は typeVariableName で、データ型を表すために 3 文字の接頭辞が使用されます。

たとえば、整数変数 intDocCount を定義します。ここで、int はデータ型を示し、その後に表意文字の英語名が続き、各単語の最初の文字が大文字になります。

2. 変数の使用スキル:

a. 異なる意味を持つ 2 つの値を表すために同じ変数を使用しないでください。

b、除非是在循环中,否则一般不推荐使用单个字母作为变量名,i、j、k等只作为小型循环的循环索引变量。

c、避免用Flag来命名状态变量。

d、用Is来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。 

e、如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。  

2.2.2 静态变量 1、选择有意义的名字,能快速地传达该变量的用途。

2、参照java驼峰命名法,采用全部大写的形式来书写,对于采用多词合成的变量采用“_”来连接各单词。如:USER_LIST

2.3 方法的命名 2.3.1 一般要求 1、选择有意义的名字,能快速地传达该方法的用途。

2、参照java驼峰命名法,首字母以小写开头,每个单词首字母大写(第一个单词除外)。

2.3.2 实际应用 1、方法表示一种行为,它代表一种动作,最好是一个动词或者动词词组或者第一个单词为一个动词。

2、属性方法:以get/set开头,其后跟字段名称,字段名称首字母大写。如:getUserName()

3、数据层方法:只能以insert(插入),delete(删除),update(更新),select(查找),count(统计)开头,其他层方法避免以这个5个单词开头,以免造成误解。

4、服务层方法,根据方法的行为命名,只描述方法的意义,而不采用方法的目的命名。比如系统的添加新用户,用户可以前台注册,也可以管理员后台添加,方法会被重用,所以最好不要用使用register,采用add会更好写。避免使用与web层相关的方法。

5、Web层方法最好是贴近web的语言,如register,login,logout等方法。

三 注释的书写规范 (Javadoc) Java除了可以采用我们常见的注释方式(//、/* */)之外,Java语言规范还定义了一种特殊的注释,也就是我们所说的Javadoc注释,以/**开头,而以*/结束, Javadoc 注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。 推荐使用。

Javadoc注释主要涉及范围:类、属性、方法。

例如:  

复制代码 代码如下:

package org.ietf.jgss;
import java.net.InetAddress;
import java.util.Arrays;
/**
 * 该类的整体性描述。
 *
 * @author 作者
 * @version 1.0, 05/22/07
 * @since 1.0
 */
public class ChannelBinding {
/**
 * 对该变量的备注信息
 */
private InetAddress initiator;
/**
 * 对该变量的备注信息
 */
private InetAddress acceptor;
/**
 * 对该变量的备注信息
 */
    private  byte[] appData;
    /**
     * 对该类的构造函数的备注信息。
     *
     * @param initAddr 对参数的备注。
     * @param acceptAddr对参数的备注。
     * @param appData对参数的备注。
     */
    public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr,
              byte[] appData) {
         initiator = initAddr;
         acceptor = acceptAddr;
         if (appData != null) {
              this.appData = new byte[appData.length];
              java.lang.System.arraycopy(appData, 0, this.appData, 0,
                   appData.length);
         }
    }
    /**
     * 对该类的具体一函数的备注信息
     *
     * @param obj 参数的备注信息
     * @return 返回值的备注信息
     */
    public boolean equals(Object obj) {
         if (this == obj)
              return true;
         if (! (obj instanceof ChannelBinding))
              return false;
         ChannelBinding cb = (ChannelBinding) obj;
         return Arrays.equals(appData, cb.appData);
    }
}

四 其他书写规范

4.1 Jsp页面名称的书写规范 1.全部采用小写的英文字符和”_ ”组成。

2.整体采用模块名+操作的形式。如:user_view.jsp

3.Jsp页面尽可能与action的意思对应,如UserListAction 对应者user_list.jsp


相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

JS引擎运行时是什么样的

JS的使用过程中如何自定义console对象

H5中的弹窗无法用webview弹出怎么解决

以上がキャメルケースの命名とJSに関するQ&Aの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。