KONOEコーディングコンベンション
1.ディレクトリ構成
ファイルを配置するディレクトリの構成について、例えばkonoe
サブディレクトリの下に、
- src ソースファイル
- include インクルードファイル
- lib ライブラリ
- bin 実行可能イメージ
- doc 各種ドキュメント類
- demo 例題。実装例など。
のように配置します。srcの下はクラスライブラリの構造に
従い、パッケージに対応してsystem、daq、analysis、uiを
準備します。その下はクラスカテゴリーに対応します。
includeはインクルードファイルを配置します。KONOE全体で
共用するもの(KonoePrimitives.hhなど)以外はsrcと同様
パッケージ毎にサブディレクトリを置きます。
開発初期には
保守の手間を考えるとシンボリックリンクを配置したほうが
効率的かも知れません。クラステンプレートはメソッドの
記述された.ccファイルもインクルードディレクトリに置かれる
必要があります。
docには文書を配置しますが、基本的にhtmlで記述することに
して、個人のpublic_htmlの下の適当なところからリンク
することが望ましいでしょう。
2.ファイル名
ファイル名はクラス名と一致させます。サフィックスとして
C++ソースは.cc、ヘッダファイルは.hhです。オブジェクトは
.oとなります。該当する解説ファイルは.htmlを付けます。
ライブラリファイルはlibKonoe.aを標準とします。
テンプレートデータベースはlibの下に用意します。ただしテンプレートの
扱いは一筋縄にはいかないようなので、パッケージ毎にテンプレート
データベースを管理することにします。
メークファイルはMakefileとします。
Javaによって書かれたファイルに関してはJavaの命名規則に従い、
ソースは.java、オブジェクトは.classとなります。
3.シンボル名
クラス名はKonoeを先頭に付け、各単語の先頭文字を大文字とします。
定数はクラス内部でenumもしくはconstで定義します。定数は
すべての文字を大文字で表現します。
publicな変数は小文字で始め、単語の頭を大文字とします。privateな
変数は全て小文字で、単語の間を_で接続します。関数名もこの規則に
従います。
ローカル変数は取りあえず任意にします。
4.プリミティブ型
プリミティブ型はKonoePrimitives.hhで定義します。大文字Kに続けて
型を、大文字ではじめて小文字を続けます。
Konoeプリミティブ | C++型 | 備考 |
KInt | long | 32ビット符号付き |
KUInt | unsigned long | Javaでは定義できない |
KShort | short | 16ビット符号付き |
KUShort | unsigned short | Javaでは定義できない |
KChar | char | 8ビット符号付き |
KUChar | unsigned char | |
KFloat | double | |
Javaでは符号なし整数の扱いはできません。注意が必要です。
5.Makefile
メークファイルはソフトウエア作成の手順を記述するもので、ソース
ファイルの一部と考えられます。そのため、出来るだけ機種依存の
部分はその外部で定義することにより、ソース互換性を高める
必要があります。
環境変数で次のものを定義します。
- KONOE_ROOT = KONOE作業ディレクトリの一番上
- KCC = KONOEで使用するコンパイラ
- KCC_COMPILE_OPTION = コンパイラオプション
- KCC_TEMPLATE_REPOSITORY = テンプレートレポジトリに関するオプション
6.実行時関数とシステムコール
コードの互換性を高めるため、通常のソースの中にはできるだけ
これらの名前を組み込むことは避けるべきです。開発の段階では
直接システムコールを呼ぶこともやむをえませんが、次の段階で
システムサービスクラスカテゴリーに該当するものを用意すべきです。
また、これらを用いる場合、それを定義するヘッダーファイルの名前などに
いくつかの流儀があります。例えばunistd.hを使うかどうか。
7.const
コードの安全性を確保するためconstを正しく使用します。(現状では
あまり一貫しているとは言えません。)
8.Javaパッケージ
Javaは日々更新されている言語で、色々と版による互換性の問題も
生じますが、KONOEでは、JDK1.1.*に準拠します。そのため、1998年
前半時点ではNetscapeなども標準では一部機能をサポートしていません。
閲覧にはHotJavaなどを用いる必要があります。(これはまもなく解消する
問題だと考えられます。)
KONOEではUI部分を中心にJava言語も利用します。生成されたクラスファイルは
ユーザが書いたアプリケーションとリンクしたり、アプレットとして呼び出す
ために参照位置をCLASSPATH環境変数に設定する必要があります。そのために
KONOEではクラスファイルを次のように管理します。
- クラスファイルは$(KONOE_ROOT)/lib/classesの下に置きます。
- JDK1.1.*の機能によりクラスファイルのアーカイブであるjarファイルを
用意します。名前はkonoe.jarです。このファイルはclassesディレクトリに
置かれます。
- classesの下には、.classファイルのみを保存するサブディレクトリを
用意します。このサブディレクトリの名称がそのままJavaのパッケージ名に
なります。ですから最初の名前はkonoeで、その下の階層がKONOEパッケージ
です。
- ソースファイルは通常どおり、srcの下に置かれます。そのため、
生成されたクラスファイルを上述のパッケージサブディレクトリの
該当する位置にコピーする必要があります。

[collaboration/convention.html] Last Modified : 29-Jun-1998.
KONOEコラボレーション
konoe-req@konoe.kek.jp