約 2,405,376 件
https://w.atwiki.jp/seasartaro/pages/36.html
AND条件を指定する時のコーディング方法です。条件は、30≦ score ≦ 70 です。 public final void findUseAnd(){ Mongo conn = null; try { conn = new Mongo("localhost", 27017); } catch (Exception e) { e.printStackTrace(); } WriteConcern wc = new WriteConcern(1, 2000); conn.setWriteConcern(wc); DB db = conn.getDB("blog_app"); DBCollection coll = db.getCollection("users"); BasicDBObject mainQuery = new BasicDBObject(); BasicDBObject subQuery = new BasicDBObject("$gte", 30); subQuery.append("$lte", 70); mainQuery.put("score", subQuery); System.out.println("query json = " + mainQuery.toString()); DBCursor cursor = coll.find(mainQuery); System.out.println("count = " + cursor.count()); while (cursor.hasNext()) { BasicDBObject obj = (BasicDBObject)cursor.next(); System.out.println(obj.toString()); } } 結果は以下の通りです。 query json = { "score" { "$gte" 30 , "$lte" 70}} count = 2 { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d1"} , "name" "user-1" , "team" 1.0 , "score" 38.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d5"} , "name" "user-5" , "team" 2.0 , "score" 43.0}
https://w.atwiki.jp/former5jproject/pages/29.html
バックアップです。 うっかりコーディング規約のページを削除してしまいそうになったので、バックアップページを作りました。 コーディング規約 ファイル構成 1.ファイル名 publicクラスはそのクラスの1ファイルにする。 例:public class Customer は Customer.cs に入れる。 非パブリッククラスはそのクラスが主に使われるパブリッククラスのファイルに含めてよい。 例外クラスは、1ファイルに複数クラスをまとめてもよい。 2.ファイルの位置 プロジェクトのルートディレクトリを決め、名前空間の “.” をディレクトリ階層に置き換えた位置に入れる。但し、ソリューション / プロジェクトに対応している名前空間の階層は、ソリューション名 / プロジェクト名をディレクトリ名に使用する。 命名規約 1.英語と日本語 全ての識別子の名前は英語を用いること。 2.名前空間 企業略式名.組織略式名.テクノロジー名.機能名を使用する。また、テクノロジー名にはソリューションが、機能名にはプロジェクトが対応していること。 using Project5j.Bomberman... 3.クラス名 単語ごとに先頭大文字。 例:class PascalCasing 4.例外クラス名 最後をExceptionとしたクラス名。 例:class ClassNameEndsWithException 5.インターフェイス名 クラス名に同じ。また常に最初にIを付ける。 例:interface INameOfInterface また、クラスにある能力を加える様な利用の場合、その能力を示す形容詞とし、-ableを接尾にする。 例 IEnumerable, ICloneable, IXmlSerializable, … 6.抽象クラス名 抽象クラス名に適当な名前が無いとき、 Abstract から始まりサブクラス名を連想させる名前を付ける。 例:abstract class AbstractBeforeSubClassName 7.非パブリックメンバ 先頭に"_"を付加する。 単語の先頭は小文字。それ以降、単語ごとに先頭大文字 例:private object _objectName; 8.パブリックメンバ 単語ごとに先頭大文字。 例:public object ObjectName; 9.定数(const) 大文字もしくは大文字を"_"でつないだもの。 例:const int UPPERCASE = 0; const int UPPERCASE_WITH_UNDERSCORES = 0; 10.列挙型(enum) 単語ごとに先頭大文字。 例:enum PascalCasing 11.列挙値 単語ごとに先頭大文字。 例:PascalCasing 12.イベント名 単語ごとに先頭大文字。 例:event PascalCasingEvent() 13.デリゲート名 単語ごとに先頭大文字。変数名の末尾にHandlerを付加する。 どのような場合に呼び出されるか変数名を見てわかる名前をつけること。 悪い例:public delegate void StateHandler(); public delegate void TimeOutHandler(); 良い例:public delegate void StateChangedHandler(); public delegate void ThreadTimeOutHandler(); 14.メソッド名 先頭小文字。あとは単語ごとに大文字。 例:void pascalCasing(); object pascalCasing(); 15.ファクトリメソッド(オブジェクトをnewするもの) createの後に先頭が小文字で始まるオブジェクト名を付加する。 例:ObjectName createObjectName(); 16.コンバータメソッド(オブジェクトを別のオブジェクトに変換するもの) to, fromの後に先頭が小文字で始まるオブジェクト名を付加する。 例:void toObjectName(); ObjectName fromObjectName(object obj1); 17.プロパティ名 単語ごとに先頭大文字。 例:object PascalCasing { } 18.Boolean変数を返すメソッド Is + 形容詞、Can + 動詞、Has + 過去分詞、三単元動詞、三単元動詞 + 名詞。 良い例:bool IsEmpty() bool CanGet() bool HasChanged() bool Contains(object x) bool ContainsKey(string key) 悪い例:bool Empty() //「空にする」という動詞的な意味に取れる。 bool CheckXXX() // trueがどちらの意味か分かりづらい。 理由 :if, while文等の条件が読みやすくなる。 またtrueがどちらの意味か分かりやすい。 19.bool変数 形容詞、is + 形容詞、can + 動詞、has + 過去分詞、三単元動詞、三単元動詞 + 名詞。 例:bool _isEmpty; bool _dirty; bool _containsMoreElements; 20.名前の対称性 クラス名、メソッド名を付ける際は、以下の英語の対称性に気を付ける。 Add / Remove Insert / Delete Get / Set Start / Stop Begin / End Send / Receive First / Last Push / Pop Up / Down Upper / Bottom Show / Hide Source / Target Open / Close Source / Destination Increment / Decrement Lock / Unlock Old / New Next / Previous 21.ループカウンタ スコープ(通用範囲)が狭いループカウンタには i, j, k という名前をこの順に使う。 22.スコープが狭い名前 スコープが狭い変数名は,型名を略したものを使って良い。 例: DataSet ds = new DataSet(); 23.意味がとれる名前 変数名から役割が読み取れる名前をできる限り指定すること。 悪い例:Copy(string s1, string s2) 良い例:Copy(string source, string destination) ガイドライン 1.public Variable インスタンス変数は、極力publicにせず、妥当なプロパティを設ける。 理由:オブジェクト指向の標準。クラスの内部状態に勝手にアクセスさせるのはよくない。ただし、以下の条件をすべて満たす場合、インスタンス変数をpublicにし、直接アクセスさせてもよい。 ●そのインスタンス変数が他のインスタンス変数と独立であり、単独で変更されても内部の整合性をくずさない。 ●どちらにしても,get / setアクセサを書く。 ●インスタンス変数の実装が将来に渡って変更されないことが確定している。 2.状態取得と状態変更の分離 メソッドは,「1つの事」を行うように設計せよ。特に、状態変更と状態取得の2つのサービスを1つのメソッドで行わない。状態を変更するメソッドの return 値はvoidにせよ。 理由1:1つの事を行うメソッドの方が分かりやすい。 理由2:並行性の制御、例外の安全保証がしやすい。 理由3:サブクラス化による拡張がしやすい。 3.オブジェクトの同値比較 オブジェクトの比較では Equals() メソッドを使い、== , != を使うな。特に、Stringの比較では == , != を使用してはならない。 理由:もし実装者がEquals()を用意しているなら、それを使ってほしくて実装したはず。また、Stringの比較では設定により大文字/小文字が区別されない場合があるため。 4.宣言と初期化 ローカル変数は、初期値と共に宣言すること。 5.大小比較演算子 大小の方向を統一することを目的として、 “ ”、 “ =” を使い、” ”、 “ =” はなるべく避けること。 6.メソッド引数の変更は悪 原則としてメソッドの引数は入力であり、出力としては使わないこと。すなわちメソッド内部で引数の状態を変更するメソッドを呼ばないこと。出力引数に新たなオブジェクトを代入しないこと。 悪い例 void MoveX(Point p, int dx) { p.X = p.X() + dx; // 引数を変更している(なるべく避ける) } void MoveX(Point p, int dx) { Point p = New Point(p.X + dx, p.Y); // これは呼び出し側に伝わらない } 例外:パフォーマンスを気にする場合。 7.パフォーマンス調整は二の次 複雑な処理の場合、最初からパフォーマンスを気にしたコーディングをするべきではない。先に可読性、保守性を優先する。 コメント 1.クラス summary から始まり /summary で終わるNDoc(*)形式を採用する。 クラスやインターフェイスなどを継承している場合は remarks から始まり /remarks で終わるNDoc形式を採用する。 例:/// summary ///概要 /// /summary /// remarks ///このクラスはProject5j.Bomberman.Class1を継承している。 /// /remarks public class Class2 Project5j.Bomberman.Class1 { } 2.メンバ summary から始まり /summary で終わるNDoc形式を採用する。 例:/// summary ///概要 /// /summary object _objectName; 3.プロパティ・インデックス value から始まり /value で終わるNDoc形式を採用する。 getアクセサを実装している場合は「取得する」と記述して、setアクセサを実装している場合は「設定する」と記述する。 例:/// value ///値を取得する。 /// /value object ObjectName { get { return _object; } } /// value ///値を取得・設定する。 /// /value object ObjectName { get { return _object; } set { _object = value; } } 4.メソッド summary から始まり /summary で終わるNDoc形式を採用する。 例:/// summary ///概要 /// /summary /// param name="obj1" オブジェクト1 /param /// return 戻り値の説明 /return public object methodName(object obj1) { } 5.メソッド内部 いかなる場合でも、半角スペースを前後に使用した/* ... */を採用する。 例:/* 処理1 */ ・・・ /* * 処理1 * ここんところをこう、こう、こう。 */ (*)NDoc:ソースコードのコメントをXML, HTML形式でのドキュメントに変換するツール。 初版 2006.09.17 Y.Kawauchi
https://w.atwiki.jp/k-designer/pages/74.html
作業環境を整える CSS・XHTML/コーディングをはじめよう/作業ディレクトリの準備? CSS・XHTML/コーディングをはじめよう/ツールの準備? リンク? このページの情報 ここより下層のページ 最終更新日 2008/11/12 11 14 53
https://w.atwiki.jp/seasartaro/pages/38.html
OR条件を指定する時のコーディング方法です。条件は、score < 30 OR 70 < score です。 public final void findUseOr() { Mongo conn = null; try { conn = new Mongo("localhost", 27017); } catch (Exception e) { e.printStackTrace(); } WriteConcern wc = new WriteConcern(1, 2000); conn.setWriteConcern(wc); DB db = conn.getDB("blog_app"); DBCollection coll = db.getCollection("users"); BasicDBObject query1 = new BasicDBObject("$lt", 30); BasicDBObject query11 = new BasicDBObject("score", query1); BasicDBObject query2 = new BasicDBObject("$gt", 70); BasicDBObject query21 = new BasicDBObject("score", query2); ArrayList BasicDBObject myList = new ArrayList BasicDBObject (); myList.add(query11); myList.add(query21); BasicDBObject query3 = new BasicDBObject("$or", myList); System.out.println("query json = " + query3.toString()); DBCursor cursor = coll.find(query3); System.out.println("count = " + cursor.count()); while (cursor.hasNext()) { BasicDBObject obj = (BasicDBObject)cursor.next(); System.out.println(obj.toString()); } } 結果は以下 query json = { "$or" [ { "score" { "$lt" 30}} , { "score" { "$gt" 70}}]} count = 8 { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d0"} , "name" "user-0" , "team" 0.0 , "score" 24.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d2"} , "name" "user-2" , "team" 2.0 , "score" 26.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d3"} , "name" "user-3" , "team" 0.0 , "score" 82.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d4"} , "name" "user-4" , "team" 1.0 , "score" 79.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d6"} , "name" "user-6" , "team" 0.0 , "score" 79.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d7"} , "name" "user-7" , "team" 1.0 , "score" 93.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d8"} , "name" "user-8" , "team" 2.0 , "score" 14.0} { "_id" { "$oid" "5184c79dc401ef5c9cf0f8d9"} , "name" "user-9" , "team" 0.0 , "score" 22.0}
https://w.atwiki.jp/vbdotnet/pages/20.html
エラーの拾い方/メッセージの表示の仕方 イベントプロシージャでTry ~ Catchを設置 使用するメソッドではエラーメッセージ表示はなし ⇒メッセージ表示の代わりにThrow new Exception("error message")で Exceptionクラスにメッセージを格納してエラーをスローする ⇒イベントプロシージャでEsceptionを拾えるのでCatchの中でException.messageの内容を表示
https://w.atwiki.jp/shouchan/pages/20.html
ハンガリアン記法 データ型を表現する意味でのハンガリアン記法(システムハンガリアン)は使用しない StrUserName IntUserNo 等 コントロールを表現する場合は以下プリフィックスを付与 コントロール VB.NET ASP.NET Label lbl lbl TextBox txt txt Button btn btn HyperLink lnk ComboBox(DropDownList) cmb ddl CheckBox chk chk RadioButton rdo rdo Image img Table tbl HiddenField hdn Panel pnl Form frm TabControl tab GroupBox grp ※頻繁に使用するコントロールのみ 定数/変数 定数は全て大文字で表現する。プリフィックス"CONST_" はつけない。 (全て大文字で表現する事が定数であると判断できる為) Public Const USER_TYPE_SA As String = "1" public const string USER_TYPE_SA = "1"; 変数は単語の先頭を大文字、以下小文字で表現する。 Dim UserType As String string UserType; スコープ Global:プリフィックス"g_"を付与 Public g_UserType As String public string g_UserType; Module:プリフィックス"m_"を付与 Private m_UserType As String private string m_UserType; Local:識別子なし Dim UserType As String string UserType; 引数 値渡し:プリフィックス"pi"を付与 Private Function GetUserName _ (ByVal piUserCd As String) As String string GetUserName(string piUserCd) 参照渡し:プリフィックス"po"を付与 Private Sub DoLogin(ByRef poErrMsg As String) static void DoLogin(ref string poErrMsg) メソッド プリフィックス"Do", "Get", "Set"を付与すれば大体OKと思っている。(+必要に応じて他の動詞) "Do"の場合は、戻り値がないメソッドに対して。(あっても成功失敗ぐらい) "Get"の場合は、Getしたい値を戻り値に設定する。 "Set"の場合は、Setしたい値を引数に設定する。
https://w.atwiki.jp/jdbc_atm/pages/19.html
鉄則:「書くときのことよりも、読むときのことを考える」 基本的に↑だけ気をつければおkです。 以下、駄文。 命名について 基本方針 まず命名です。思い浮かばないなら、一旦手を止めて考え直しましょう。「a」とか「k2」とか論外です。 名前には意味を持たせるべきです。良い例: bookCount - 本の数を表す変数だとすぐ分かります。 悪い例: mode , flag - 何のモードなんだか何のフラグなのかはっきり分かりません。 名前には一貫性を持たせた方が良いでしょう。例えば、何かを作るメソッドを作る時は createXXX() か makeXXX() が考えられます。 どちらを使用しても良いですが、プログラム全体で統一を取るべきでしょう。 悩む場合はご相談ください。 省略しない。例えば「 Invader と打つのはメンドイから省略しようぜ!」と考えたとしましょう。本人であれば問題ありませんが、他人の場合は把握までに時間がかかります。 省略の規則を定める必要性があります( inv なのか inb なのか ivdr にするのか決めなきゃならない) 珈琲界でよく使われる命名規則 クラス名・インタフェース名は、大文字で始めて、単語の区切りを大文字にする例: Object , JFrame , Invader , InvaderGroup , Detteiu 変数名・メソッド名は、小文字で始めて、単語の区切りを大文字にする(通称「ラクダ」)例: width , bookCount , parseInt() , moveRight() 定数は、全て大文字にして、単語の区切りにはアンダースコアを入れる例: PI , FRAME_SIZE , ARRAY_SIZE パッケージ名は全て小文字にする例: java.util , java.io , javax.swing , invadergame.spaceobject スタイル インデントについて インデントにはいくつかのスタイルが存在します。 その1(Microsoftスタイル) if (rideOnYoshi == true) { System.out.println("でっていう!"); } else { System.out.println("....."); } その2(K Rスタイル) if (rideOnYoshi == true) { System.out.println("でっていう!"); } else { System.out.println("....."); } Artemisでは基本的にその2を採用します。
https://w.atwiki.jp/former5jproject/pages/25.html
ファイル構成 命名規約 ガイドライン コメント 2006.09.17 Y.Kawauchi 第一版作成 2006.09.20 R.Iguchi ツリー構成に変更 2006.12.06 Y.Kawauchi 命名規約 - 14.を修正
https://w.atwiki.jp/abapdevstd/pages/14.html
クラス レポートプログラム 汎用モジュール クラス レポートプログラム 汎用モジュール
https://w.atwiki.jp/nenaiko/pages/23.html
◆クラス内での変数名 // 単語頭大文字 class TestClass { int Handle; }; ◆クラス内での変数名(例外) // 短すぎる変数名(3文字以内?)は単語頭小文字 class TestClass { double x; double y; }; ◆クラスのメンバ関数の引数 // 単語頭小文字 int TestClass TestFunk(int handle)